@stencil/core 5.0.0-alpha.9 → 5.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -0
- package/dist/app-data/index.d.ts +1 -1
- package/dist/app-data/index.js +4 -1
- package/dist/client-BRu0GtRn.mjs +2368 -0
- package/dist/compiler/index.d.mts +167 -3
- package/dist/compiler/index.mjs +3 -3
- package/dist/compiler/utils/index.d.mts +272 -2
- package/dist/compiler/utils/index.mjs +4 -3
- package/dist/{compiler-C0qmPoKu.mjs → compiler-NrvbUOX1.mjs} +2754 -1259
- package/dist/declarations/stencil-ext-modules.d.ts +5 -5
- package/dist/declarations/stencil-public-compiler.d.ts +208 -66
- package/dist/declarations/stencil-public-docs.d.ts +9 -0
- package/dist/declarations/stencil-public-runtime.d.ts +91 -6
- package/dist/fragment-Di1hWOC8.mjs +4 -0
- package/dist/{regular-expression-CFVJOTUh.mjs → helpers-Cpp3qc3u.mjs} +31 -15
- package/dist/index-BOrz3rbJ.d.mts +100 -0
- package/dist/{index-xAkMgLX_.d.ts → index-DnISpqrd.d.ts} +149 -9
- package/dist/{index-vY35H18z.d.mts → index-RrQfiPWK.d.mts} +490 -845
- package/dist/index.d.mts +4 -0
- package/dist/index.mjs +91 -2
- package/dist/jsx-runtime.mjs +2 -1
- package/dist/{node--akYC-sG.mjs → node-75gQKkFz.mjs} +60 -58
- package/dist/{chunk-z9aeyW2b.mjs → rolldown-runtime-BhDjJH2R.mjs} +1 -1
- package/dist/runtime/client/lazy.js +481 -184
- package/dist/runtime/client/runtime.d.ts +149 -10
- package/dist/runtime/client/runtime.js +481 -184
- package/dist/runtime/index.d.ts +6 -4
- package/dist/runtime/index.js +480 -182
- package/dist/runtime/server/index.d.mts +80 -8
- package/dist/runtime/server/index.mjs +403 -177
- package/dist/runtime/server/runner.d.mts +3 -0
- package/dist/runtime/server/runner.mjs +320 -337
- package/dist/signals/index.d.ts +2 -0
- package/dist/signals/index.js +4 -1
- package/dist/sys/node/index.d.mts +1 -2
- package/dist/sys/node/index.mjs +1 -1
- package/dist/sys/node/worker.d.mts +1 -1
- package/dist/sys/node/worker.mjs +6 -3
- package/dist/testing/index.d.mts +4716 -105
- package/dist/testing/index.mjs +7590 -794
- package/dist/util-IKfWWLJo.mjs +724 -0
- package/dist/validation-DAdGTrys.mjs +791 -0
- package/package.json +27 -27
- package/dist/client-aTQ7xHxx.mjs +0 -4678
- package/dist/index-BvkyxSY6.d.mts +0 -205
- package/dist/validation-ByxKj8bC.mjs +0 -1458
- /package/{LICENSE.md → LICENSE} +0 -0
|
@@ -2,7 +2,7 @@ import { ssrFactory } from "@stencil/core/runtime/server/ssr-factory";
|
|
|
2
2
|
import { BUILD } from "@stencil/core/app-data";
|
|
3
3
|
import "@preact/signals-core";
|
|
4
4
|
//#region ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/common/unicode.js
|
|
5
|
-
const UNDEFINED_CODE_POINTS = new Set([
|
|
5
|
+
const UNDEFINED_CODE_POINTS = /* @__PURE__ */ new Set([
|
|
6
6
|
65534,
|
|
7
7
|
65535,
|
|
8
8
|
131070,
|
|
@@ -326,7 +326,7 @@ function getTokenAttr(token, attrName) {
|
|
|
326
326
|
}
|
|
327
327
|
//#endregion
|
|
328
328
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode-codepoint.js
|
|
329
|
-
const decodeMap = new Map([
|
|
329
|
+
const decodeMap = /* @__PURE__ */ new Map([
|
|
330
330
|
[0, 65533],
|
|
331
331
|
[128, 8364],
|
|
332
332
|
[130, 8218],
|
|
@@ -387,7 +387,7 @@ function decodeBase64(input) {
|
|
|
387
387
|
//#endregion
|
|
388
388
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/generated/decode-data-html.js
|
|
389
389
|
/** Packed HTML decode trie data. */
|
|
390
|
-
const htmlDecodeTree = /* @__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
390
|
+
const htmlDecodeTree = /* #__PURE__ */ decodeBase64("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
|
|
391
391
|
//#endregion
|
|
392
392
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/bin-trie-flags.js
|
|
393
393
|
/**
|
|
@@ -1041,7 +1041,7 @@ var TAG_ID;
|
|
|
1041
1041
|
TAG_ID[TAG_ID["WBR"] = 122] = "WBR";
|
|
1042
1042
|
TAG_ID[TAG_ID["XMP"] = 123] = "XMP";
|
|
1043
1043
|
})(TAG_ID || (TAG_ID = {}));
|
|
1044
|
-
const TAG_NAME_TO_ID = new Map([
|
|
1044
|
+
const TAG_NAME_TO_ID = /* @__PURE__ */ new Map([
|
|
1045
1045
|
[TAG_NAMES.A, TAG_ID.A],
|
|
1046
1046
|
[TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],
|
|
1047
1047
|
[TAG_NAMES.ANNOTATION_XML, TAG_ID.ANNOTATION_XML],
|
|
@@ -1172,7 +1172,7 @@ function getTagID(tagName) {
|
|
|
1172
1172
|
}
|
|
1173
1173
|
const $ = TAG_ID;
|
|
1174
1174
|
const SPECIAL_ELEMENTS = {
|
|
1175
|
-
[NS.HTML]: new Set([
|
|
1175
|
+
[NS.HTML]: /* @__PURE__ */ new Set([
|
|
1176
1176
|
$.ADDRESS,
|
|
1177
1177
|
$.APPLET,
|
|
1178
1178
|
$.AREA,
|
|
@@ -1255,7 +1255,7 @@ const SPECIAL_ELEMENTS = {
|
|
|
1255
1255
|
$.WBR,
|
|
1256
1256
|
$.XMP
|
|
1257
1257
|
]),
|
|
1258
|
-
[NS.MATHML]: new Set([
|
|
1258
|
+
[NS.MATHML]: /* @__PURE__ */ new Set([
|
|
1259
1259
|
$.MI,
|
|
1260
1260
|
$.MO,
|
|
1261
1261
|
$.MN,
|
|
@@ -1263,7 +1263,7 @@ const SPECIAL_ELEMENTS = {
|
|
|
1263
1263
|
$.MTEXT,
|
|
1264
1264
|
$.ANNOTATION_XML
|
|
1265
1265
|
]),
|
|
1266
|
-
[NS.SVG]: new Set([
|
|
1266
|
+
[NS.SVG]: /* @__PURE__ */ new Set([
|
|
1267
1267
|
$.TITLE,
|
|
1268
1268
|
$.FOREIGN_OBJECT,
|
|
1269
1269
|
$.DESC
|
|
@@ -1272,7 +1272,7 @@ const SPECIAL_ELEMENTS = {
|
|
|
1272
1272
|
[NS.XML]: /* @__PURE__ */ new Set(),
|
|
1273
1273
|
[NS.XMLNS]: /* @__PURE__ */ new Set()
|
|
1274
1274
|
};
|
|
1275
|
-
const NUMBERED_HEADERS = new Set([
|
|
1275
|
+
const NUMBERED_HEADERS = /* @__PURE__ */ new Set([
|
|
1276
1276
|
$.H1,
|
|
1277
1277
|
$.H2,
|
|
1278
1278
|
$.H3,
|
|
@@ -1280,15 +1280,7 @@ const NUMBERED_HEADERS = new Set([
|
|
|
1280
1280
|
$.H5,
|
|
1281
1281
|
$.H6
|
|
1282
1282
|
]);
|
|
1283
|
-
|
|
1284
|
-
TAG_NAMES.STYLE,
|
|
1285
|
-
TAG_NAMES.SCRIPT,
|
|
1286
|
-
TAG_NAMES.XMP,
|
|
1287
|
-
TAG_NAMES.IFRAME,
|
|
1288
|
-
TAG_NAMES.NOEMBED,
|
|
1289
|
-
TAG_NAMES.NOFRAMES,
|
|
1290
|
-
TAG_NAMES.PLAINTEXT
|
|
1291
|
-
]);
|
|
1283
|
+
TAG_NAMES.STYLE, TAG_NAMES.SCRIPT, TAG_NAMES.XMP, TAG_NAMES.IFRAME, TAG_NAMES.NOEMBED, TAG_NAMES.NOFRAMES, TAG_NAMES.PLAINTEXT;
|
|
1292
1284
|
//#endregion
|
|
1293
1285
|
//#region ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/tokenizer/index.js
|
|
1294
1286
|
var State;
|
|
@@ -1642,9 +1634,7 @@ var Tokenizer = class {
|
|
|
1642
1634
|
case TokenType.NULL_CHARACTER:
|
|
1643
1635
|
this.handler.onNullCharacter(this.currentCharacterToken);
|
|
1644
1636
|
break;
|
|
1645
|
-
case TokenType.WHITESPACE_CHARACTER:
|
|
1646
|
-
this.handler.onWhitespaceCharacter(this.currentCharacterToken);
|
|
1647
|
-
break;
|
|
1637
|
+
case TokenType.WHITESPACE_CHARACTER: this.handler.onWhitespaceCharacter(this.currentCharacterToken);
|
|
1648
1638
|
}
|
|
1649
1639
|
this.currentCharacterToken = null;
|
|
1650
1640
|
}
|
|
@@ -1664,13 +1654,15 @@ var Tokenizer = class {
|
|
|
1664
1654
|
this.active = false;
|
|
1665
1655
|
}
|
|
1666
1656
|
_appendCharToCurrentCharacterToken(type, ch) {
|
|
1667
|
-
if (this.currentCharacterToken)
|
|
1668
|
-
this.currentCharacterToken.
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1657
|
+
if (this.currentCharacterToken) {
|
|
1658
|
+
if (this.currentCharacterToken.type === type) {
|
|
1659
|
+
this.currentCharacterToken.chars += ch;
|
|
1660
|
+
return;
|
|
1661
|
+
} else {
|
|
1662
|
+
this.currentLocation = this.getCurrentLocation(0);
|
|
1663
|
+
this._emitCurrentCharacterToken(this.currentLocation);
|
|
1664
|
+
this.preprocessor.dropParsedChunk();
|
|
1665
|
+
}
|
|
1674
1666
|
}
|
|
1675
1667
|
this._createCharacterToken(type, ch);
|
|
1676
1668
|
}
|
|
@@ -2646,14 +2638,15 @@ var Tokenizer = class {
|
|
|
2646
2638
|
} else if (this._consumeSequenceIfMatch(SEQUENCES.DOCTYPE, false)) {
|
|
2647
2639
|
this.currentLocation = this.getCurrentLocation(SEQUENCES.DOCTYPE.length + 1);
|
|
2648
2640
|
this.state = State.DOCTYPE;
|
|
2649
|
-
} else if (this._consumeSequenceIfMatch(SEQUENCES.CDATA_START, true))
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2641
|
+
} else if (this._consumeSequenceIfMatch(SEQUENCES.CDATA_START, true)) {
|
|
2642
|
+
if (this.inForeignNode) this.state = State.CDATA_SECTION;
|
|
2643
|
+
else {
|
|
2644
|
+
this._err(ERR.cdataInHtmlContent);
|
|
2645
|
+
this._createCommentToken(SEQUENCES.CDATA_START.length + 1);
|
|
2646
|
+
this.currentToken.data = "[CDATA[";
|
|
2647
|
+
this.state = State.BOGUS_COMMENT;
|
|
2648
|
+
}
|
|
2649
|
+
} else if (!this._ensureHibernation()) {
|
|
2657
2650
|
this._err(ERR.incorrectlyOpenedComment);
|
|
2658
2651
|
this._createCommentToken(2);
|
|
2659
2652
|
this.state = State.BOGUS_COMMENT;
|
|
@@ -3284,8 +3277,6 @@ var Tokenizer = class {
|
|
|
3284
3277
|
case CODE_POINTS.EOF:
|
|
3285
3278
|
this.emitCurrentDoctype(token);
|
|
3286
3279
|
this._emitEOFToken();
|
|
3287
|
-
break;
|
|
3288
|
-
default:
|
|
3289
3280
|
}
|
|
3290
3281
|
}
|
|
3291
3282
|
_stateCdataSection(cp) {
|
|
@@ -3324,13 +3315,15 @@ var Tokenizer = class {
|
|
|
3324
3315
|
}
|
|
3325
3316
|
_stateCharacterReference() {
|
|
3326
3317
|
let length = this.entityDecoder.write(this.preprocessor.html, this.preprocessor.pos);
|
|
3327
|
-
if (length < 0)
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3318
|
+
if (length < 0) {
|
|
3319
|
+
if (this.preprocessor.lastChunkWritten) length = this.entityDecoder.end();
|
|
3320
|
+
else {
|
|
3321
|
+
this.active = false;
|
|
3322
|
+
this.preprocessor.pos = this.preprocessor.html.length - 1;
|
|
3323
|
+
this.consumedAfterSnapshot = 0;
|
|
3324
|
+
this.preprocessor.endOfChunkHit = true;
|
|
3325
|
+
return;
|
|
3326
|
+
}
|
|
3334
3327
|
}
|
|
3335
3328
|
if (length === 0) {
|
|
3336
3329
|
this.preprocessor.pos = this.entityStartPos;
|
|
@@ -3349,7 +3342,7 @@ var Tokenizer = class {
|
|
|
3349
3342
|
};
|
|
3350
3343
|
//#endregion
|
|
3351
3344
|
//#region ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/parser/open-element-stack.js
|
|
3352
|
-
const IMPLICIT_END_TAG_REQUIRED = new Set([
|
|
3345
|
+
const IMPLICIT_END_TAG_REQUIRED = /* @__PURE__ */ new Set([
|
|
3353
3346
|
TAG_ID.DD,
|
|
3354
3347
|
TAG_ID.DT,
|
|
3355
3348
|
TAG_ID.LI,
|
|
@@ -3361,7 +3354,7 @@ const IMPLICIT_END_TAG_REQUIRED = new Set([
|
|
|
3361
3354
|
TAG_ID.RT,
|
|
3362
3355
|
TAG_ID.RTC
|
|
3363
3356
|
]);
|
|
3364
|
-
const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([
|
|
3357
|
+
const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = /* @__PURE__ */ new Set([
|
|
3365
3358
|
...IMPLICIT_END_TAG_REQUIRED,
|
|
3366
3359
|
TAG_ID.CAPTION,
|
|
3367
3360
|
TAG_ID.COLGROUP,
|
|
@@ -3372,7 +3365,7 @@ const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([
|
|
|
3372
3365
|
TAG_ID.THEAD,
|
|
3373
3366
|
TAG_ID.TR
|
|
3374
3367
|
]);
|
|
3375
|
-
const SCOPING_ELEMENTS_HTML = new Set([
|
|
3368
|
+
const SCOPING_ELEMENTS_HTML = /* @__PURE__ */ new Set([
|
|
3376
3369
|
TAG_ID.APPLET,
|
|
3377
3370
|
TAG_ID.CAPTION,
|
|
3378
3371
|
TAG_ID.HTML,
|
|
@@ -3383,13 +3376,13 @@ const SCOPING_ELEMENTS_HTML = new Set([
|
|
|
3383
3376
|
TAG_ID.TEMPLATE,
|
|
3384
3377
|
TAG_ID.TH
|
|
3385
3378
|
]);
|
|
3386
|
-
const SCOPING_ELEMENTS_HTML_LIST = new Set([
|
|
3379
|
+
const SCOPING_ELEMENTS_HTML_LIST = /* @__PURE__ */ new Set([
|
|
3387
3380
|
...SCOPING_ELEMENTS_HTML,
|
|
3388
3381
|
TAG_ID.OL,
|
|
3389
3382
|
TAG_ID.UL
|
|
3390
3383
|
]);
|
|
3391
|
-
const SCOPING_ELEMENTS_HTML_BUTTON = new Set([...SCOPING_ELEMENTS_HTML, TAG_ID.BUTTON]);
|
|
3392
|
-
const SCOPING_ELEMENTS_MATHML = new Set([
|
|
3384
|
+
const SCOPING_ELEMENTS_HTML_BUTTON = /* @__PURE__ */ new Set([...SCOPING_ELEMENTS_HTML, TAG_ID.BUTTON]);
|
|
3385
|
+
const SCOPING_ELEMENTS_MATHML = /* @__PURE__ */ new Set([
|
|
3393
3386
|
TAG_ID.ANNOTATION_XML,
|
|
3394
3387
|
TAG_ID.MI,
|
|
3395
3388
|
TAG_ID.MN,
|
|
@@ -3397,29 +3390,29 @@ const SCOPING_ELEMENTS_MATHML = new Set([
|
|
|
3397
3390
|
TAG_ID.MS,
|
|
3398
3391
|
TAG_ID.MTEXT
|
|
3399
3392
|
]);
|
|
3400
|
-
const SCOPING_ELEMENTS_SVG = new Set([
|
|
3393
|
+
const SCOPING_ELEMENTS_SVG = /* @__PURE__ */ new Set([
|
|
3401
3394
|
TAG_ID.DESC,
|
|
3402
3395
|
TAG_ID.FOREIGN_OBJECT,
|
|
3403
3396
|
TAG_ID.TITLE
|
|
3404
3397
|
]);
|
|
3405
|
-
const TABLE_ROW_CONTEXT = new Set([
|
|
3398
|
+
const TABLE_ROW_CONTEXT = /* @__PURE__ */ new Set([
|
|
3406
3399
|
TAG_ID.TR,
|
|
3407
3400
|
TAG_ID.TEMPLATE,
|
|
3408
3401
|
TAG_ID.HTML
|
|
3409
3402
|
]);
|
|
3410
|
-
const TABLE_BODY_CONTEXT = new Set([
|
|
3403
|
+
const TABLE_BODY_CONTEXT = /* @__PURE__ */ new Set([
|
|
3411
3404
|
TAG_ID.TBODY,
|
|
3412
3405
|
TAG_ID.TFOOT,
|
|
3413
3406
|
TAG_ID.THEAD,
|
|
3414
3407
|
TAG_ID.TEMPLATE,
|
|
3415
3408
|
TAG_ID.HTML
|
|
3416
3409
|
]);
|
|
3417
|
-
const TABLE_CONTEXT = new Set([
|
|
3410
|
+
const TABLE_CONTEXT = /* @__PURE__ */ new Set([
|
|
3418
3411
|
TAG_ID.TABLE,
|
|
3419
3412
|
TAG_ID.TEMPLATE,
|
|
3420
3413
|
TAG_ID.HTML
|
|
3421
3414
|
]);
|
|
3422
|
-
const TABLE_CELLS = new Set([TAG_ID.TD, TAG_ID.TH]);
|
|
3415
|
+
const TABLE_CELLS = /* @__PURE__ */ new Set([TAG_ID.TD, TAG_ID.TH]);
|
|
3423
3416
|
var OpenElementStack = class {
|
|
3424
3417
|
get currentTmplContentOrNode() {
|
|
3425
3418
|
return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;
|
|
@@ -3526,13 +3519,15 @@ var OpenElementStack = class {
|
|
|
3526
3519
|
}
|
|
3527
3520
|
remove(element) {
|
|
3528
3521
|
const idx = this._indexOf(element);
|
|
3529
|
-
if (idx >= 0)
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3522
|
+
if (idx >= 0) {
|
|
3523
|
+
if (idx === this.stackTop) this.pop();
|
|
3524
|
+
else {
|
|
3525
|
+
this.items.splice(idx, 1);
|
|
3526
|
+
this.tagIDs.splice(idx, 1);
|
|
3527
|
+
this.stackTop--;
|
|
3528
|
+
this._updateCurrentElement();
|
|
3529
|
+
this.handler.onItemPop(element, false);
|
|
3530
|
+
}
|
|
3536
3531
|
}
|
|
3537
3532
|
}
|
|
3538
3533
|
tryPeekProperlyNestedBodyElement() {
|
|
@@ -3559,9 +3554,7 @@ var OpenElementStack = class {
|
|
|
3559
3554
|
case NS.SVG:
|
|
3560
3555
|
if (SCOPING_ELEMENTS_SVG.has(tn)) return false;
|
|
3561
3556
|
break;
|
|
3562
|
-
case NS.MATHML:
|
|
3563
|
-
if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
|
|
3564
|
-
break;
|
|
3557
|
+
case NS.MATHML: if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
|
|
3565
3558
|
}
|
|
3566
3559
|
}
|
|
3567
3560
|
return true;
|
|
@@ -3586,9 +3579,7 @@ var OpenElementStack = class {
|
|
|
3586
3579
|
case NS.SVG:
|
|
3587
3580
|
if (SCOPING_ELEMENTS_SVG.has(tn)) return false;
|
|
3588
3581
|
break;
|
|
3589
|
-
case NS.MATHML:
|
|
3590
|
-
if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
|
|
3591
|
-
break;
|
|
3582
|
+
case NS.MATHML: if (SCOPING_ELEMENTS_MATHML.has(tn)) return false;
|
|
3592
3583
|
}
|
|
3593
3584
|
}
|
|
3594
3585
|
return true;
|
|
@@ -3958,7 +3949,7 @@ const QUIRKS_MODE_NO_SYSTEM_ID_PUBLIC_ID_PREFIXES = [
|
|
|
3958
3949
|
"-//w3c//dtd html 4.01 frameset//",
|
|
3959
3950
|
"-//w3c//dtd html 4.01 transitional//"
|
|
3960
3951
|
];
|
|
3961
|
-
const QUIRKS_MODE_PUBLIC_IDS = new Set([
|
|
3952
|
+
const QUIRKS_MODE_PUBLIC_IDS = /* @__PURE__ */ new Set([
|
|
3962
3953
|
"-//w3o//dtd w3 html strict 3.0//en//",
|
|
3963
3954
|
"-/w3c/dtd html 4.0 transitional/en",
|
|
3964
3955
|
"html"
|
|
@@ -4058,7 +4049,7 @@ const SVG_ATTRS_ADJUSTMENT_MAP = new Map([
|
|
|
4058
4049
|
"yChannelSelector",
|
|
4059
4050
|
"zoomAndPan"
|
|
4060
4051
|
].map((attr) => [attr.toLowerCase(), attr]));
|
|
4061
|
-
const XML_ATTRS_ADJUSTMENT_MAP = new Map([
|
|
4052
|
+
const XML_ATTRS_ADJUSTMENT_MAP = /* @__PURE__ */ new Map([
|
|
4062
4053
|
["xlink:actuate", {
|
|
4063
4054
|
prefix: "xlink",
|
|
4064
4055
|
name: "actuate",
|
|
@@ -4153,7 +4144,7 @@ const SVG_TAG_NAMES_ADJUSTMENT_MAP = new Map([
|
|
|
4153
4144
|
"radialGradient",
|
|
4154
4145
|
"textPath"
|
|
4155
4146
|
].map((tn) => [tn.toLowerCase(), tn]));
|
|
4156
|
-
const EXITS_FOREIGN_CONTENT = new Set([
|
|
4147
|
+
const EXITS_FOREIGN_CONTENT = /* @__PURE__ */ new Set([
|
|
4157
4148
|
TAG_ID.B,
|
|
4158
4149
|
TAG_ID.BIG,
|
|
4159
4150
|
TAG_ID.BLOCKQUOTE,
|
|
@@ -4286,7 +4277,7 @@ const BASE_LOC = {
|
|
|
4286
4277
|
endCol: -1,
|
|
4287
4278
|
endOffset: -1
|
|
4288
4279
|
};
|
|
4289
|
-
const TABLE_STRUCTURE_TAGS = new Set([
|
|
4280
|
+
const TABLE_STRUCTURE_TAGS = /* @__PURE__ */ new Set([
|
|
4290
4281
|
TAG_ID.TABLE,
|
|
4291
4282
|
TAG_ID.TBODY,
|
|
4292
4283
|
TAG_ID.TFOOT,
|
|
@@ -4459,10 +4450,7 @@ var Parser = class {
|
|
|
4459
4450
|
case TAG_ID.SCRIPT:
|
|
4460
4451
|
this.tokenizer.state = TokenizerMode.SCRIPT_DATA;
|
|
4461
4452
|
break;
|
|
4462
|
-
case TAG_ID.PLAINTEXT:
|
|
4463
|
-
this.tokenizer.state = TokenizerMode.PLAINTEXT;
|
|
4464
|
-
break;
|
|
4465
|
-
default:
|
|
4453
|
+
case TAG_ID.PLAINTEXT: this.tokenizer.state = TokenizerMode.PLAINTEXT;
|
|
4466
4454
|
}
|
|
4467
4455
|
}
|
|
4468
4456
|
/** @protected */
|
|
@@ -4618,9 +4606,7 @@ var Parser = class {
|
|
|
4618
4606
|
case TokenType.EOF:
|
|
4619
4607
|
this.onEof(token);
|
|
4620
4608
|
break;
|
|
4621
|
-
case TokenType.WHITESPACE_CHARACTER:
|
|
4622
|
-
this.onWhitespaceCharacter(token);
|
|
4623
|
-
break;
|
|
4609
|
+
case TokenType.WHITESPACE_CHARACTER: this.onWhitespaceCharacter(token);
|
|
4624
4610
|
}
|
|
4625
4611
|
}
|
|
4626
4612
|
/** @protected */
|
|
@@ -4694,12 +4680,10 @@ var Parser = class {
|
|
|
4694
4680
|
return;
|
|
4695
4681
|
}
|
|
4696
4682
|
break;
|
|
4697
|
-
case TAG_ID.HEAD:
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4701
|
-
}
|
|
4702
|
-
break;
|
|
4683
|
+
case TAG_ID.HEAD: if (i > 0) {
|
|
4684
|
+
this.insertionMode = InsertionMode.IN_HEAD;
|
|
4685
|
+
return;
|
|
4686
|
+
}
|
|
4703
4687
|
}
|
|
4704
4688
|
this.insertionMode = InsertionMode.IN_BODY;
|
|
4705
4689
|
}
|
|
@@ -4745,7 +4729,6 @@ var Parser = class {
|
|
|
4745
4729
|
beforeElement: null
|
|
4746
4730
|
};
|
|
4747
4731
|
}
|
|
4748
|
-
default:
|
|
4749
4732
|
}
|
|
4750
4733
|
}
|
|
4751
4734
|
return {
|
|
@@ -4761,7 +4744,8 @@ var Parser = class {
|
|
|
4761
4744
|
}
|
|
4762
4745
|
/** @protected */
|
|
4763
4746
|
_isSpecialElement(element, id) {
|
|
4764
|
-
|
|
4747
|
+
const ns = this.treeAdapter.getNamespaceURI(element);
|
|
4748
|
+
return SPECIAL_ELEMENTS[ns].has(id);
|
|
4765
4749
|
}
|
|
4766
4750
|
/** @internal */
|
|
4767
4751
|
onCharacter(token) {
|
|
@@ -4814,10 +4798,7 @@ var Parser = class {
|
|
|
4814
4798
|
case InsertionMode.AFTER_BODY:
|
|
4815
4799
|
tokenAfterBody(this, token);
|
|
4816
4800
|
break;
|
|
4817
|
-
case InsertionMode.AFTER_AFTER_BODY:
|
|
4818
|
-
tokenAfterAfterBody(this, token);
|
|
4819
|
-
break;
|
|
4820
|
-
default:
|
|
4801
|
+
case InsertionMode.AFTER_AFTER_BODY: tokenAfterAfterBody(this, token);
|
|
4821
4802
|
}
|
|
4822
4803
|
}
|
|
4823
4804
|
/** @internal */
|
|
@@ -4860,10 +4841,7 @@ var Parser = class {
|
|
|
4860
4841
|
case InsertionMode.AFTER_BODY:
|
|
4861
4842
|
tokenAfterBody(this, token);
|
|
4862
4843
|
break;
|
|
4863
|
-
case InsertionMode.AFTER_AFTER_BODY:
|
|
4864
|
-
tokenAfterAfterBody(this, token);
|
|
4865
|
-
break;
|
|
4866
|
-
default:
|
|
4844
|
+
case InsertionMode.AFTER_AFTER_BODY: tokenAfterAfterBody(this, token);
|
|
4867
4845
|
}
|
|
4868
4846
|
}
|
|
4869
4847
|
/** @internal */
|
|
@@ -4901,10 +4879,7 @@ var Parser = class {
|
|
|
4901
4879
|
appendCommentToRootHtmlElement(this, token);
|
|
4902
4880
|
break;
|
|
4903
4881
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
4904
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
4905
|
-
appendCommentToDocument(this, token);
|
|
4906
|
-
break;
|
|
4907
|
-
default:
|
|
4882
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: appendCommentToDocument(this, token);
|
|
4908
4883
|
}
|
|
4909
4884
|
}
|
|
4910
4885
|
/** @internal */
|
|
@@ -4920,10 +4895,7 @@ var Parser = class {
|
|
|
4920
4895
|
case InsertionMode.AFTER_HEAD:
|
|
4921
4896
|
this._err(token, ERR.misplacedDoctype);
|
|
4922
4897
|
break;
|
|
4923
|
-
case InsertionMode.IN_TABLE_TEXT:
|
|
4924
|
-
tokenInTableText(this, token);
|
|
4925
|
-
break;
|
|
4926
|
-
default:
|
|
4898
|
+
case InsertionMode.IN_TABLE_TEXT: tokenInTableText(this, token);
|
|
4927
4899
|
}
|
|
4928
4900
|
}
|
|
4929
4901
|
/** @internal */
|
|
@@ -5014,10 +4986,7 @@ var Parser = class {
|
|
|
5014
4986
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
5015
4987
|
startTagAfterAfterBody(this, token);
|
|
5016
4988
|
break;
|
|
5017
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
5018
|
-
startTagAfterAfterFrameset(this, token);
|
|
5019
|
-
break;
|
|
5020
|
-
default:
|
|
4989
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: startTagAfterAfterFrameset(this, token);
|
|
5021
4990
|
}
|
|
5022
4991
|
}
|
|
5023
4992
|
/** @internal */
|
|
@@ -5093,10 +5062,7 @@ var Parser = class {
|
|
|
5093
5062
|
case InsertionMode.AFTER_FRAMESET:
|
|
5094
5063
|
endTagAfterFrameset(this, token);
|
|
5095
5064
|
break;
|
|
5096
|
-
case InsertionMode.AFTER_AFTER_BODY:
|
|
5097
|
-
tokenAfterAfterBody(this, token);
|
|
5098
|
-
break;
|
|
5099
|
-
default:
|
|
5065
|
+
case InsertionMode.AFTER_AFTER_BODY: tokenAfterAfterBody(this, token);
|
|
5100
5066
|
}
|
|
5101
5067
|
}
|
|
5102
5068
|
/** @internal */
|
|
@@ -5144,10 +5110,7 @@ var Parser = class {
|
|
|
5144
5110
|
case InsertionMode.IN_FRAMESET:
|
|
5145
5111
|
case InsertionMode.AFTER_FRAMESET:
|
|
5146
5112
|
case InsertionMode.AFTER_AFTER_BODY:
|
|
5147
|
-
case InsertionMode.AFTER_AFTER_FRAMESET:
|
|
5148
|
-
stopParsing(this, token);
|
|
5149
|
-
break;
|
|
5150
|
-
default:
|
|
5113
|
+
case InsertionMode.AFTER_AFTER_FRAMESET: stopParsing(this, token);
|
|
5151
5114
|
}
|
|
5152
5115
|
}
|
|
5153
5116
|
/** @internal */
|
|
@@ -5189,10 +5152,7 @@ var Parser = class {
|
|
|
5189
5152
|
case InsertionMode.IN_ROW:
|
|
5190
5153
|
characterInTable(this, token);
|
|
5191
5154
|
break;
|
|
5192
|
-
case InsertionMode.IN_TABLE_TEXT:
|
|
5193
|
-
whitespaceCharacterInTableText(this, token);
|
|
5194
|
-
break;
|
|
5195
|
-
default:
|
|
5155
|
+
case InsertionMode.IN_TABLE_TEXT: whitespaceCharacterInTableText(this, token);
|
|
5196
5156
|
}
|
|
5197
5157
|
}
|
|
5198
5158
|
};
|
|
@@ -5545,10 +5505,7 @@ function modeInBody(p, token) {
|
|
|
5545
5505
|
case TokenType.END_TAG:
|
|
5546
5506
|
endTagInBody(p, token);
|
|
5547
5507
|
break;
|
|
5548
|
-
case TokenType.EOF:
|
|
5549
|
-
eofInBody(p, token);
|
|
5550
|
-
break;
|
|
5551
|
-
default:
|
|
5508
|
+
case TokenType.EOF: eofInBody(p, token);
|
|
5552
5509
|
}
|
|
5553
5510
|
}
|
|
5554
5511
|
function whitespaceCharacterInBody(p, token) {
|
|
@@ -6133,9 +6090,7 @@ function characterInTable(p, token) {
|
|
|
6133
6090
|
case TokenType.CHARACTER:
|
|
6134
6091
|
characterInTableText(p, token);
|
|
6135
6092
|
break;
|
|
6136
|
-
case TokenType.WHITESPACE_CHARACTER:
|
|
6137
|
-
whitespaceCharacterInTableText(p, token);
|
|
6138
|
-
break;
|
|
6093
|
+
case TokenType.WHITESPACE_CHARACTER: whitespaceCharacterInTableText(p, token);
|
|
6139
6094
|
}
|
|
6140
6095
|
} else tokenInTable(p, token);
|
|
6141
6096
|
}
|
|
@@ -6269,7 +6224,7 @@ function tokenInTableText(p, token) {
|
|
|
6269
6224
|
p.insertionMode = p.originalInsertionMode;
|
|
6270
6225
|
p._processToken(token);
|
|
6271
6226
|
}
|
|
6272
|
-
const TABLE_VOID_ELEMENTS = new Set([
|
|
6227
|
+
const TABLE_VOID_ELEMENTS = /* @__PURE__ */ new Set([
|
|
6273
6228
|
TAG_ID.CAPTION,
|
|
6274
6229
|
TAG_ID.COL,
|
|
6275
6230
|
TAG_ID.COLGROUP,
|
|
@@ -6549,10 +6504,7 @@ function startTagInSelect(p, token) {
|
|
|
6549
6504
|
}
|
|
6550
6505
|
break;
|
|
6551
6506
|
case TAG_ID.SCRIPT:
|
|
6552
|
-
case TAG_ID.TEMPLATE:
|
|
6553
|
-
startTagInHead(p, token);
|
|
6554
|
-
break;
|
|
6555
|
-
default:
|
|
6507
|
+
case TAG_ID.TEMPLATE: startTagInHead(p, token);
|
|
6556
6508
|
}
|
|
6557
6509
|
}
|
|
6558
6510
|
function endTagInSelect(p, token) {
|
|
@@ -6570,10 +6522,7 @@ function endTagInSelect(p, token) {
|
|
|
6570
6522
|
p._resetInsertionMode();
|
|
6571
6523
|
}
|
|
6572
6524
|
break;
|
|
6573
|
-
case TAG_ID.TEMPLATE:
|
|
6574
|
-
templateEndTagInHead(p, token);
|
|
6575
|
-
break;
|
|
6576
|
-
default:
|
|
6525
|
+
case TAG_ID.TEMPLATE: templateEndTagInHead(p, token);
|
|
6577
6526
|
}
|
|
6578
6527
|
}
|
|
6579
6528
|
function startTagInSelectInTable(p, token) {
|
|
@@ -6682,10 +6631,7 @@ function startTagInFrameset(p, token) {
|
|
|
6682
6631
|
p._appendElement(token, NS.HTML);
|
|
6683
6632
|
token.ackSelfClosing = true;
|
|
6684
6633
|
break;
|
|
6685
|
-
case TAG_ID.NOFRAMES:
|
|
6686
|
-
startTagInHead(p, token);
|
|
6687
|
-
break;
|
|
6688
|
-
default:
|
|
6634
|
+
case TAG_ID.NOFRAMES: startTagInHead(p, token);
|
|
6689
6635
|
}
|
|
6690
6636
|
}
|
|
6691
6637
|
function endTagInFrameset(p, token) {
|
|
@@ -6699,10 +6645,7 @@ function startTagAfterFrameset(p, token) {
|
|
|
6699
6645
|
case TAG_ID.HTML:
|
|
6700
6646
|
startTagInBody(p, token);
|
|
6701
6647
|
break;
|
|
6702
|
-
case TAG_ID.NOFRAMES:
|
|
6703
|
-
startTagInHead(p, token);
|
|
6704
|
-
break;
|
|
6705
|
-
default:
|
|
6648
|
+
case TAG_ID.NOFRAMES: startTagInHead(p, token);
|
|
6706
6649
|
}
|
|
6707
6650
|
}
|
|
6708
6651
|
function endTagAfterFrameset(p, token) {
|
|
@@ -6721,10 +6664,7 @@ function startTagAfterAfterFrameset(p, token) {
|
|
|
6721
6664
|
case TAG_ID.HTML:
|
|
6722
6665
|
startTagInBody(p, token);
|
|
6723
6666
|
break;
|
|
6724
|
-
case TAG_ID.NOFRAMES:
|
|
6725
|
-
startTagInHead(p, token);
|
|
6726
|
-
break;
|
|
6727
|
-
default:
|
|
6667
|
+
case TAG_ID.NOFRAMES: startTagInHead(p, token);
|
|
6728
6668
|
}
|
|
6729
6669
|
}
|
|
6730
6670
|
function nullCharacterInForeignContent(p, token) {
|
|
@@ -6776,26 +6716,7 @@ function endTagInForeignContent(p, token) {
|
|
|
6776
6716
|
}
|
|
6777
6717
|
}
|
|
6778
6718
|
}
|
|
6779
|
-
|
|
6780
|
-
TAG_NAMES.AREA,
|
|
6781
|
-
TAG_NAMES.BASE,
|
|
6782
|
-
TAG_NAMES.BASEFONT,
|
|
6783
|
-
TAG_NAMES.BGSOUND,
|
|
6784
|
-
TAG_NAMES.BR,
|
|
6785
|
-
TAG_NAMES.COL,
|
|
6786
|
-
TAG_NAMES.EMBED,
|
|
6787
|
-
TAG_NAMES.FRAME,
|
|
6788
|
-
TAG_NAMES.HR,
|
|
6789
|
-
TAG_NAMES.IMG,
|
|
6790
|
-
TAG_NAMES.INPUT,
|
|
6791
|
-
TAG_NAMES.KEYGEN,
|
|
6792
|
-
TAG_NAMES.LINK,
|
|
6793
|
-
TAG_NAMES.META,
|
|
6794
|
-
TAG_NAMES.PARAM,
|
|
6795
|
-
TAG_NAMES.SOURCE,
|
|
6796
|
-
TAG_NAMES.TRACK,
|
|
6797
|
-
TAG_NAMES.WBR
|
|
6798
|
-
]);
|
|
6719
|
+
TAG_NAMES.AREA, TAG_NAMES.BASE, TAG_NAMES.BASEFONT, TAG_NAMES.BGSOUND, TAG_NAMES.BR, TAG_NAMES.COL, TAG_NAMES.EMBED, TAG_NAMES.FRAME, TAG_NAMES.HR, TAG_NAMES.IMG, TAG_NAMES.INPUT, TAG_NAMES.KEYGEN, TAG_NAMES.LINK, TAG_NAMES.META, TAG_NAMES.PARAM, TAG_NAMES.SOURCE, TAG_NAMES.TRACK, TAG_NAMES.WBR;
|
|
6799
6720
|
//#endregion
|
|
6800
6721
|
//#region ../../node_modules/.pnpm/parse5@8.0.1/node_modules/parse5/dist/index.js
|
|
6801
6722
|
/**
|
|
@@ -6847,7 +6768,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
6847
6768
|
}
|
|
6848
6769
|
return to;
|
|
6849
6770
|
};
|
|
6850
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
6771
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule || !__hasOwnProp.call(mod, "default") ? __defProp(target, "default", {
|
|
6851
6772
|
value: mod,
|
|
6852
6773
|
enumerable: true
|
|
6853
6774
|
}) : target, mod));
|
|
@@ -7174,12 +7095,12 @@ function createCustomElement(customElements, ownerDocument, tagName) {
|
|
|
7174
7095
|
const host = new Proxy({}, {
|
|
7175
7096
|
get(obj, prop) {
|
|
7176
7097
|
const elm = proxyElements.get(host);
|
|
7177
|
-
if (elm != null) return elm
|
|
7098
|
+
if (elm != null) return Reflect.get(elm, prop, host);
|
|
7178
7099
|
return obj[prop];
|
|
7179
7100
|
},
|
|
7180
7101
|
set(obj, prop, val) {
|
|
7181
7102
|
const elm = proxyElements.get(host);
|
|
7182
|
-
if (elm != null) elm
|
|
7103
|
+
if (elm != null) Reflect.set(elm, prop, val, host);
|
|
7183
7104
|
else obj[prop] = val;
|
|
7184
7105
|
return true;
|
|
7185
7106
|
},
|
|
@@ -7187,6 +7108,26 @@ function createCustomElement(customElements, ownerDocument, tagName) {
|
|
|
7187
7108
|
if (prop in proxyElements.get(host)) return true;
|
|
7188
7109
|
if (prop in obj) return true;
|
|
7189
7110
|
return false;
|
|
7111
|
+
},
|
|
7112
|
+
defineProperty(obj, prop, descriptor) {
|
|
7113
|
+
const elm = proxyElements.get(host);
|
|
7114
|
+
return Reflect.defineProperty(elm != null ? elm : obj, prop, descriptor);
|
|
7115
|
+
},
|
|
7116
|
+
deleteProperty(obj, prop) {
|
|
7117
|
+
const elm = proxyElements.get(host);
|
|
7118
|
+
return Reflect.deleteProperty(elm != null ? elm : obj, prop);
|
|
7119
|
+
},
|
|
7120
|
+
getOwnPropertyDescriptor(obj, prop) {
|
|
7121
|
+
const elm = proxyElements.get(host);
|
|
7122
|
+
return Reflect.getOwnPropertyDescriptor(elm != null ? elm : obj, prop);
|
|
7123
|
+
},
|
|
7124
|
+
ownKeys(obj) {
|
|
7125
|
+
const elm = proxyElements.get(host);
|
|
7126
|
+
return Reflect.ownKeys(elm != null ? elm : obj);
|
|
7127
|
+
},
|
|
7128
|
+
getPrototypeOf(obj) {
|
|
7129
|
+
const elm = proxyElements.get(host);
|
|
7130
|
+
return Reflect.getPrototypeOf(elm != null ? elm : obj);
|
|
7190
7131
|
}
|
|
7191
7132
|
});
|
|
7192
7133
|
const elm = new MockHTMLElement(ownerDocument, tagName);
|
|
@@ -7383,9 +7324,18 @@ var MockFocusEvent = class extends MockUIEvent {
|
|
|
7383
7324
|
var MockEventListener = class {
|
|
7384
7325
|
type;
|
|
7385
7326
|
handler;
|
|
7386
|
-
|
|
7327
|
+
capture;
|
|
7328
|
+
once;
|
|
7329
|
+
constructor(type, handler, options) {
|
|
7387
7330
|
this.type = type;
|
|
7388
7331
|
this.handler = handler;
|
|
7332
|
+
if (typeof options === "boolean") {
|
|
7333
|
+
this.capture = options;
|
|
7334
|
+
this.once = false;
|
|
7335
|
+
} else {
|
|
7336
|
+
this.capture = options?.capture ?? false;
|
|
7337
|
+
this.once = options?.once ?? false;
|
|
7338
|
+
}
|
|
7389
7339
|
}
|
|
7390
7340
|
};
|
|
7391
7341
|
/**
|
|
@@ -7394,11 +7344,12 @@ var MockEventListener = class {
|
|
|
7394
7344
|
* @param elm - the element to add the listener to
|
|
7395
7345
|
* @param type - the event type to listen for
|
|
7396
7346
|
* @param handler - the event handler function
|
|
7347
|
+
* @param options - `capture` and `once` are supported; `passive` and `signal` are accepted but not implemented
|
|
7397
7348
|
*/
|
|
7398
|
-
function addEventListener(elm, type, handler) {
|
|
7349
|
+
function addEventListener(elm, type, handler, options) {
|
|
7399
7350
|
const target = elm;
|
|
7400
7351
|
if (target.__listeners == null) target.__listeners = [];
|
|
7401
|
-
target.__listeners.push(new MockEventListener(type, handler));
|
|
7352
|
+
target.__listeners.push(new MockEventListener(type, handler, options));
|
|
7402
7353
|
}
|
|
7403
7354
|
/**
|
|
7404
7355
|
* Remove an event listener from an element.
|
|
@@ -7406,11 +7357,13 @@ function addEventListener(elm, type, handler) {
|
|
|
7406
7357
|
* @param elm - the element to remove the listener from
|
|
7407
7358
|
* @param type - the event type to remove
|
|
7408
7359
|
* @param handler - the event handler function to remove
|
|
7360
|
+
* @param options - only `capture` is relevant here, since listeners are keyed by type + handler + capture
|
|
7409
7361
|
*/
|
|
7410
|
-
function removeEventListener(elm, type, handler) {
|
|
7362
|
+
function removeEventListener(elm, type, handler, options) {
|
|
7411
7363
|
const target = elm;
|
|
7364
|
+
const capture = typeof options === "boolean" ? options : options?.capture ?? false;
|
|
7412
7365
|
if (target != null && Array.isArray(target.__listeners) === true) {
|
|
7413
|
-
const elmListener = target.__listeners.find((e) => e.type === type && e.handler === handler);
|
|
7366
|
+
const elmListener = target.__listeners.find((e) => e.type === type && e.handler === handler && e.capture === capture);
|
|
7414
7367
|
if (elmListener != null) {
|
|
7415
7368
|
const index = target.__listeners.indexOf(elmListener);
|
|
7416
7369
|
target.__listeners.splice(index, 1);
|
|
@@ -7436,6 +7389,7 @@ function triggerEventListener(elm, ev) {
|
|
|
7436
7389
|
const target = elm;
|
|
7437
7390
|
ev.currentTarget = elm;
|
|
7438
7391
|
if (Array.isArray(target.__listeners) === true) target.__listeners.filter((e) => e.type === ev.type).forEach((listener) => {
|
|
7392
|
+
if (listener.once) removeEventListener(target, listener.type, listener.handler, { capture: listener.capture });
|
|
7439
7393
|
try {
|
|
7440
7394
|
listener.handler.call(target, ev);
|
|
7441
7395
|
} catch (err) {
|
|
@@ -7718,6 +7672,14 @@ function* streamToHtml(node, opts, output) {
|
|
|
7718
7672
|
yield " shadowrootdelegatesfocus";
|
|
7719
7673
|
output.currentLineWidth += 25;
|
|
7720
7674
|
}
|
|
7675
|
+
if (node.clonable) {
|
|
7676
|
+
yield " shadowrootclonable";
|
|
7677
|
+
output.currentLineWidth += 19;
|
|
7678
|
+
}
|
|
7679
|
+
if (node.serializable) {
|
|
7680
|
+
yield " shadowrootserializable";
|
|
7681
|
+
output.currentLineWidth += 23;
|
|
7682
|
+
}
|
|
7721
7683
|
}
|
|
7722
7684
|
const attrsLength = node.attributes.length;
|
|
7723
7685
|
const attributes = opts.prettyHtml && attrsLength > 1 ? cloneAttributes(node.attributes, true) : node.attributes;
|
|
@@ -7739,14 +7701,15 @@ function* streamToHtml(node, opts, output) {
|
|
|
7739
7701
|
} else if (attrNamespaceURI === "http://www.w3.org/XML/1998/namespace") {
|
|
7740
7702
|
yield " xml:" + attrLocalName;
|
|
7741
7703
|
output.currentLineWidth += attrLocalName.length + 5;
|
|
7742
|
-
} else if (attrNamespaceURI === "http://www.w3.org/2000/xmlns/")
|
|
7743
|
-
|
|
7744
|
-
|
|
7745
|
-
|
|
7746
|
-
|
|
7747
|
-
|
|
7748
|
-
|
|
7749
|
-
|
|
7704
|
+
} else if (attrNamespaceURI === "http://www.w3.org/2000/xmlns/") {
|
|
7705
|
+
if (attrLocalName !== "xmlns") {
|
|
7706
|
+
yield " xmlns:" + attrLocalName;
|
|
7707
|
+
output.currentLineWidth += attrLocalName.length + 7;
|
|
7708
|
+
} else {
|
|
7709
|
+
yield " " + attrLocalName;
|
|
7710
|
+
output.currentLineWidth += attrLocalName.length + 1;
|
|
7711
|
+
}
|
|
7712
|
+
} else if (attrNamespaceURI === "http://www.w3.org/1999/xlink") {
|
|
7750
7713
|
yield " xlink:" + attrLocalName;
|
|
7751
7714
|
output.currentLineWidth += attrLocalName.length + 7;
|
|
7752
7715
|
} else {
|
|
@@ -7799,34 +7762,36 @@ function* streamToHtml(node, opts, output) {
|
|
|
7799
7762
|
const tag = tagName === shadowRootTag ? "template" : tagName;
|
|
7800
7763
|
const childNodes = tagName === "template" ? node.content.childNodes : getChildNodes(node);
|
|
7801
7764
|
const childNodeLength = childNodes.length;
|
|
7802
|
-
if (childNodeLength > 0)
|
|
7803
|
-
|
|
7804
|
-
|
|
7805
|
-
|
|
7806
|
-
|
|
7807
|
-
|
|
7808
|
-
|
|
7809
|
-
|
|
7810
|
-
|
|
7811
|
-
|
|
7812
|
-
|
|
7813
|
-
|
|
7814
|
-
|
|
7815
|
-
|
|
7816
|
-
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
if (ignoreTag === false) {
|
|
7822
|
-
if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
|
|
7823
|
-
yield "\n";
|
|
7824
|
-
output.currentLineWidth = 0;
|
|
7765
|
+
if (childNodeLength > 0) {
|
|
7766
|
+
if (childNodeLength === 1 && childNodes[0].nodeType === 3 && (typeof childNodes[0].nodeValue !== "string" || childNodes[0].nodeValue.trim() === "")) {} else {
|
|
7767
|
+
const isWithinWhitespaceSensitiveNode = opts.newLines || (opts.indentSpaces ?? 0) > 0 ? isWithinWhitespaceSensitive(node) : false;
|
|
7768
|
+
if (!isWithinWhitespaceSensitiveNode && (opts.indentSpaces ?? 0) > 0 && ignoreTag === false) output.indent = output.indent + (opts.indentSpaces ?? 0);
|
|
7769
|
+
for (let i = 0; i < childNodeLength; i++) {
|
|
7770
|
+
/**
|
|
7771
|
+
* In cases where a user would pass in a declarative shadow dom of a
|
|
7772
|
+
* Stencil component, we want to skip over the template tag as we
|
|
7773
|
+
* will be parsing the shadow root of the component again.
|
|
7774
|
+
*
|
|
7775
|
+
* We know it is a hydrated Stencil component by checking if the `HYDRATE_ID`
|
|
7776
|
+
* is set on the node.
|
|
7777
|
+
*/
|
|
7778
|
+
const sId = node.attributes.getNamedItem(HYDRATE_ID);
|
|
7779
|
+
if (childNodes[i].nodeName.toLowerCase() === "template" && sId) {
|
|
7780
|
+
yield `\n${" ".repeat(output.indent)}<!--r.${sId.value}-->`;
|
|
7781
|
+
continue;
|
|
7782
|
+
}
|
|
7783
|
+
yield* streamToHtml(childNodes[i], opts, output);
|
|
7825
7784
|
}
|
|
7826
|
-
if (
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7785
|
+
if (ignoreTag === false) {
|
|
7786
|
+
if (opts.newLines && !isWithinWhitespaceSensitiveNode) {
|
|
7787
|
+
yield "\n";
|
|
7788
|
+
output.currentLineWidth = 0;
|
|
7789
|
+
}
|
|
7790
|
+
if ((opts.indentSpaces ?? 0) > 0 && !isWithinWhitespaceSensitiveNode) {
|
|
7791
|
+
output.indent = output.indent - (opts.indentSpaces ?? 0);
|
|
7792
|
+
for (let i = 0; i < output.indent; i++) yield " ";
|
|
7793
|
+
output.currentLineWidth += output.indent;
|
|
7794
|
+
}
|
|
7830
7795
|
}
|
|
7831
7796
|
}
|
|
7832
7797
|
}
|
|
@@ -7885,10 +7850,12 @@ function* streamToHtml(node, opts, output) {
|
|
|
7885
7850
|
if (/\s/.test(textContent.charAt(0))) textContent = " " + textContent.trimStart();
|
|
7886
7851
|
textContentLength = textContent.length;
|
|
7887
7852
|
if (textContentLength > 1) {
|
|
7888
|
-
if (/\s/.test(textContent.charAt(textContentLength - 1)))
|
|
7889
|
-
|
|
7890
|
-
|
|
7891
|
-
|
|
7853
|
+
if (/\s/.test(textContent.charAt(textContentLength - 1))) {
|
|
7854
|
+
if (opts.approximateLineWidth && opts.approximateLineWidth > 0 && output.currentLineWidth + textContentLength > opts.approximateLineWidth) {
|
|
7855
|
+
textContent = textContent.trimEnd() + "\n";
|
|
7856
|
+
output.currentLineWidth = 0;
|
|
7857
|
+
} else textContent = textContent.trimEnd() + " ";
|
|
7858
|
+
}
|
|
7892
7859
|
}
|
|
7893
7860
|
output.currentLineWidth += textContentLength;
|
|
7894
7861
|
}
|
|
@@ -7959,7 +7926,7 @@ function isWithinWhitespaceSensitive(node) {
|
|
|
7959
7926
|
function getChildNodes(node) {
|
|
7960
7927
|
return node.__childNodes || node.childNodes;
|
|
7961
7928
|
}
|
|
7962
|
-
const NON_ESCAPABLE_CONTENT = new Set([
|
|
7929
|
+
const NON_ESCAPABLE_CONTENT = /* @__PURE__ */ new Set([
|
|
7963
7930
|
"STYLE",
|
|
7964
7931
|
"SCRIPT",
|
|
7965
7932
|
"IFRAME",
|
|
@@ -7968,7 +7935,7 @@ const NON_ESCAPABLE_CONTENT = new Set([
|
|
|
7968
7935
|
/**
|
|
7969
7936
|
* A list of whitespace sensitive tag names, such as `code`, `pre`, etc.
|
|
7970
7937
|
*/
|
|
7971
|
-
const WHITESPACE_SENSITIVE = new Set([
|
|
7938
|
+
const WHITESPACE_SENSITIVE = /* @__PURE__ */ new Set([
|
|
7972
7939
|
"CODE",
|
|
7973
7940
|
"OUTPUT",
|
|
7974
7941
|
"PRE",
|
|
@@ -7976,7 +7943,7 @@ const WHITESPACE_SENSITIVE = new Set([
|
|
|
7976
7943
|
"TEMPLATE",
|
|
7977
7944
|
"TEXTAREA"
|
|
7978
7945
|
]);
|
|
7979
|
-
const EMPTY_ELEMENTS = new Set([
|
|
7946
|
+
const EMPTY_ELEMENTS = /* @__PURE__ */ new Set([
|
|
7980
7947
|
"area",
|
|
7981
7948
|
"base",
|
|
7982
7949
|
"br",
|
|
@@ -7992,7 +7959,7 @@ const EMPTY_ELEMENTS = new Set([
|
|
|
7992
7959
|
"track",
|
|
7993
7960
|
"wbr"
|
|
7994
7961
|
]);
|
|
7995
|
-
const REMOVE_EMPTY_ATTR = new Set([
|
|
7962
|
+
const REMOVE_EMPTY_ATTR = /* @__PURE__ */ new Set([
|
|
7996
7963
|
"class",
|
|
7997
7964
|
"dir",
|
|
7998
7965
|
"id",
|
|
@@ -8000,7 +7967,7 @@ const REMOVE_EMPTY_ATTR = new Set([
|
|
|
8000
7967
|
"name",
|
|
8001
7968
|
"title"
|
|
8002
7969
|
]);
|
|
8003
|
-
const BOOLEAN_ATTR = new Set([
|
|
7970
|
+
const BOOLEAN_ATTR = /* @__PURE__ */ new Set([
|
|
8004
7971
|
"allowfullscreen",
|
|
8005
7972
|
"async",
|
|
8006
7973
|
"autofocus",
|
|
@@ -8030,7 +7997,7 @@ const BOOLEAN_ATTR = new Set([
|
|
|
8030
7997
|
"shadowrootdelegatesfocus",
|
|
8031
7998
|
"shadowrootserializable"
|
|
8032
7999
|
]);
|
|
8033
|
-
const STRUCTURE_ELEMENTS = new Set([
|
|
8000
|
+
const STRUCTURE_ELEMENTS = /* @__PURE__ */ new Set([
|
|
8034
8001
|
"html",
|
|
8035
8002
|
"body",
|
|
8036
8003
|
"head",
|
|
@@ -8218,8 +8185,9 @@ var MockNode = class {
|
|
|
8218
8185
|
}
|
|
8219
8186
|
get nextSibling() {
|
|
8220
8187
|
if (this.parentNode != null) {
|
|
8221
|
-
const
|
|
8222
|
-
|
|
8188
|
+
const selfIndex = this.parentNode.childNodes.indexOf(this);
|
|
8189
|
+
if (selfIndex === -1) return null;
|
|
8190
|
+
return this.parentNode.childNodes[selfIndex + 1] || null;
|
|
8223
8191
|
}
|
|
8224
8192
|
return null;
|
|
8225
8193
|
}
|
|
@@ -8261,8 +8229,10 @@ var MockNode = class {
|
|
|
8261
8229
|
return childNode;
|
|
8262
8230
|
}
|
|
8263
8231
|
remove() {
|
|
8264
|
-
if (this.parentNode != null)
|
|
8265
|
-
|
|
8232
|
+
if (this.parentNode != null) {
|
|
8233
|
+
if (this.__parentNode) this.__parentNode.removeChild(this);
|
|
8234
|
+
else this.parentNode.removeChild(this);
|
|
8235
|
+
}
|
|
8266
8236
|
}
|
|
8267
8237
|
replaceChild(newChild, oldChild) {
|
|
8268
8238
|
if (oldChild.parentNode === this) {
|
|
@@ -8278,11 +8248,11 @@ var MockNode = class {
|
|
|
8278
8248
|
set textContent(value) {
|
|
8279
8249
|
this._nodeValue = String(value);
|
|
8280
8250
|
}
|
|
8281
|
-
addEventListener(type, handler) {
|
|
8282
|
-
addEventListener(this, type, handler);
|
|
8251
|
+
addEventListener(type, handler, options) {
|
|
8252
|
+
addEventListener(this, type, handler, options);
|
|
8283
8253
|
}
|
|
8284
|
-
removeEventListener(type, handler) {
|
|
8285
|
-
removeEventListener(this, type, handler);
|
|
8254
|
+
removeEventListener(type, handler, options) {
|
|
8255
|
+
removeEventListener(this, type, handler, options);
|
|
8286
8256
|
}
|
|
8287
8257
|
dispatchEvent(ev) {
|
|
8288
8258
|
return dispatchEvent(this, ev);
|
|
@@ -8327,13 +8297,15 @@ var MockElement = class extends MockNode {
|
|
|
8327
8297
|
this.__shadowRoot = null;
|
|
8328
8298
|
this.__attributeMap = null;
|
|
8329
8299
|
}
|
|
8330
|
-
addEventListener(type, handler) {
|
|
8331
|
-
addEventListener(this, type, handler);
|
|
8300
|
+
addEventListener(type, handler, options) {
|
|
8301
|
+
addEventListener(this, type, handler, options);
|
|
8332
8302
|
}
|
|
8333
8303
|
attachShadow(_opts) {
|
|
8334
8304
|
const shadowRoot = this.ownerDocument.createDocumentFragment();
|
|
8335
8305
|
shadowRoot.mode = _opts.mode ?? "open";
|
|
8336
8306
|
shadowRoot.delegatesFocus = _opts.delegatesFocus ?? false;
|
|
8307
|
+
shadowRoot.clonable = _opts.clonable ?? false;
|
|
8308
|
+
shadowRoot.serializable = _opts.serializable ?? false;
|
|
8337
8309
|
this.shadowRoot = shadowRoot;
|
|
8338
8310
|
return shadowRoot;
|
|
8339
8311
|
}
|
|
@@ -8593,8 +8565,9 @@ var MockElement = class extends MockNode {
|
|
|
8593
8565
|
get nextElementSibling() {
|
|
8594
8566
|
const parentElement = this.parentElement;
|
|
8595
8567
|
if (parentElement != null && (parentElement.nodeType === 1 || parentElement.nodeType === 11 || parentElement.nodeType === 9)) {
|
|
8596
|
-
const
|
|
8597
|
-
|
|
8568
|
+
const selfIndex = parentElement.children.indexOf(this);
|
|
8569
|
+
if (selfIndex === -1) return null;
|
|
8570
|
+
return parentElement.children[selfIndex + 1] || null;
|
|
8598
8571
|
}
|
|
8599
8572
|
return null;
|
|
8600
8573
|
}
|
|
@@ -8608,8 +8581,9 @@ var MockElement = class extends MockNode {
|
|
|
8608
8581
|
get previousElementSibling() {
|
|
8609
8582
|
const parentElement = this.parentElement;
|
|
8610
8583
|
if (parentElement != null && (parentElement.nodeType === 1 || parentElement.nodeType === 11 || parentElement.nodeType === 9)) {
|
|
8611
|
-
const
|
|
8612
|
-
|
|
8584
|
+
const selfIndex = parentElement.children.indexOf(this);
|
|
8585
|
+
if (selfIndex === -1) return null;
|
|
8586
|
+
return parentElement.children[selfIndex - 1] || null;
|
|
8613
8587
|
}
|
|
8614
8588
|
return null;
|
|
8615
8589
|
}
|
|
@@ -8647,8 +8621,8 @@ var MockElement = class extends MockNode {
|
|
|
8647
8621
|
if (checkAttributeChanged(this) === true) attributeChanged(this, attrName, attr.value, null);
|
|
8648
8622
|
}
|
|
8649
8623
|
}
|
|
8650
|
-
removeEventListener(type, handler) {
|
|
8651
|
-
removeEventListener(this, type, handler);
|
|
8624
|
+
removeEventListener(type, handler, options) {
|
|
8625
|
+
removeEventListener(this, type, handler, options);
|
|
8652
8626
|
}
|
|
8653
8627
|
setAttribute(attrName, value) {
|
|
8654
8628
|
if (attrName === "style") this.style = value;
|
|
@@ -8656,12 +8630,13 @@ var MockElement = class extends MockNode {
|
|
|
8656
8630
|
const attributes = this.attributes;
|
|
8657
8631
|
let attr = attributes.getNamedItem(attrName);
|
|
8658
8632
|
const checkAttrChanged = checkAttributeChanged(this);
|
|
8659
|
-
if (attr != null)
|
|
8660
|
-
|
|
8661
|
-
|
|
8662
|
-
|
|
8663
|
-
|
|
8664
|
-
|
|
8633
|
+
if (attr != null) {
|
|
8634
|
+
if (checkAttrChanged === true) {
|
|
8635
|
+
const oldValue = attr.value;
|
|
8636
|
+
attr.value = value;
|
|
8637
|
+
if (oldValue !== attr.value) attributeChanged(this, attr.name, oldValue, attr.value);
|
|
8638
|
+
} else attr.value = value;
|
|
8639
|
+
} else {
|
|
8665
8640
|
if (attributes.caseInsensitive) attrName = attrName.toLowerCase();
|
|
8666
8641
|
attr = new MockAttr(attrName, value);
|
|
8667
8642
|
attributes.__items.push(attr);
|
|
@@ -8683,12 +8658,13 @@ var MockElement = class extends MockNode {
|
|
|
8683
8658
|
}
|
|
8684
8659
|
let attr = attributes.getNamedItemNS(namespaceURI, localName);
|
|
8685
8660
|
const checkAttrChanged = checkAttributeChanged(this);
|
|
8686
|
-
if (attr != null)
|
|
8687
|
-
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8661
|
+
if (attr != null) {
|
|
8662
|
+
if (checkAttrChanged === true) {
|
|
8663
|
+
const oldValue = attr.value;
|
|
8664
|
+
attr.value = value;
|
|
8665
|
+
if (oldValue !== attr.value) attributeChanged(this, attr.name, oldValue, attr.value);
|
|
8666
|
+
} else attr.value = value;
|
|
8667
|
+
} else {
|
|
8692
8668
|
attr = new MockAttr(localName, value, namespaceURI, prefix);
|
|
8693
8669
|
attributes.__items.push(attr);
|
|
8694
8670
|
if (checkAttrChanged === true) attributeChanged(this, attr.name, null, attr.value);
|
|
@@ -8996,7 +8972,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
8996
8972
|
global.NW.Dom = factory(global, Export);
|
|
8997
8973
|
}
|
|
8998
8974
|
})(exports, function Factory(global, Export) {
|
|
8999
|
-
var version = "nwsapi-2.2.
|
|
8975
|
+
var version = "nwsapi-2.2.24", doc = global.document, root = doc.documentElement, slice = Array.prototype.slice, HSP = "\\x20\\t", VSP = "\\r\\n\\f", WSP = "[" + HSP + VSP + "]", CFG = {
|
|
9000
8976
|
operators: "[~*^$|]=|=",
|
|
9001
8977
|
combinators: "[\\x20\\t>+~](?=[^>+~])"
|
|
9002
8978
|
}, NOT = {
|
|
@@ -9021,9 +8997,9 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9021
8997
|
apimethods: RegExp("^(?:\\w+|\\*)\\|"),
|
|
9022
8998
|
namespaces: RegExp("(\\*|\\w+)\\|[\\w-]+")
|
|
9023
8999
|
}, GROUPS = {
|
|
9024
|
-
linguistic: "(dir|lang)(?:\\x28\\s?([-\\w]{2,})\\s
|
|
9025
|
-
logicalsel: "(is|where|matches|not|has)(?:\\x28\\s?([^()]*|.*)\\s
|
|
9026
|
-
treestruct: "(nth(?:-last)?(?:-child|-of\\-type))(?:\\x28\\s?(even|odd|(?:[-+]?\\d*)(?:n\\s?[-+]?\\s?\\d*)?)\\s
|
|
9000
|
+
linguistic: "(dir|lang)(?:\\x28\\s?([-\\w]{2,})\\s?(?:\\x29|$))",
|
|
9001
|
+
logicalsel: "(is|where|matches|not|has)(?:\\x28\\s?([^()]*|.*)\\s?(?:\\x29|$))",
|
|
9002
|
+
treestruct: "(nth(?:-last)?(?:-child|-of\\-type))(?:\\x28\\s?(even|odd|(?:[-+]?\\d*)(?:n\\s?[-+]?\\s?\\d*)?)\\s?(?:\\x29|$))",
|
|
9027
9003
|
locationpc: "(any\\-link|link|visited|target|defined)\\b",
|
|
9028
9004
|
useraction: "(hover|active|focus\\-within|focus\\-visible|focus)\\b",
|
|
9029
9005
|
structural: "(scope|root|empty|(?:(?:first|last|only)(?:-child|\\-of\\-type)))\\b",
|
|
@@ -9222,7 +9198,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9222
9198
|
if (codePoint < 1 || codePoint > 1114111 || codePoint > 55295 && codePoint < 57344) return "�";
|
|
9223
9199
|
if (codePoint < 65536) return String.fromCharCode(codePoint);
|
|
9224
9200
|
return String.fromCodePoint ? String.fromCodePoint(codePoint) : String.fromCharCode((codePoint - 65536 >> 10) + 55296, (codePoint - 65536) % 1024 + 56320);
|
|
9225
|
-
},
|
|
9201
|
+
}, escapeIdentifier = function(str) {
|
|
9226
9202
|
return REX.HasEscapes.test(str) ? str.replace(REX.FixEscapes, function(substring, p1, p2) {
|
|
9227
9203
|
return p2 ? "\\" + p2 : REX.HexNumbers.test(p1) ? codePointToUTF16(parseInt(p1, 16)) : REX.EscOrQuote.test(p1) ? substring : p1;
|
|
9228
9204
|
}) : str;
|
|
@@ -9252,12 +9228,14 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9252
9228
|
var e, i, l, nodes, api = method["#"];
|
|
9253
9229
|
if (Config.IDS_DUPES === false) {
|
|
9254
9230
|
if (api in context) return (e = context[api](id)) ? [e] : none;
|
|
9255
|
-
} else if ("all" in context)
|
|
9256
|
-
if (e
|
|
9257
|
-
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9231
|
+
} else if ("all" in context) {
|
|
9232
|
+
if (e = context.all[id]) {
|
|
9233
|
+
if (e.nodeType == 1) return e.getAttribute("id") != id ? [] : [e];
|
|
9234
|
+
else if (id == "length") return (e = context[api](id)) ? [e] : none;
|
|
9235
|
+
for (i = 0, l = e.length, nodes = []; l > i; ++i) if (e[i].id == id) nodes[nodes.length] = e[i];
|
|
9236
|
+
return nodes && nodes.length ? nodes : [nodes];
|
|
9237
|
+
} else return none;
|
|
9238
|
+
}
|
|
9261
9239
|
return byIdRaw(id, context);
|
|
9262
9240
|
}, byTagNS = function(context, tag) {
|
|
9263
9241
|
return byTag(tag, context);
|
|
@@ -9266,15 +9244,16 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9266
9244
|
if (api in context) return slice.call(context[api](tag));
|
|
9267
9245
|
else {
|
|
9268
9246
|
tag = tag.toLowerCase();
|
|
9269
|
-
if (e = context.firstElementChild)
|
|
9270
|
-
|
|
9271
|
-
|
|
9272
|
-
|
|
9273
|
-
|
|
9274
|
-
|
|
9275
|
-
|
|
9276
|
-
|
|
9277
|
-
|
|
9247
|
+
if (e = context.firstElementChild) {
|
|
9248
|
+
if (!(e.nextElementSibling || tag == "*" || e.localName == tag)) return slice.call(e[api](tag));
|
|
9249
|
+
else {
|
|
9250
|
+
nodes = [];
|
|
9251
|
+
do {
|
|
9252
|
+
if (tag == "*" || e.localName == tag) nodes[nodes.length] = e;
|
|
9253
|
+
concatList(nodes, e[api](tag));
|
|
9254
|
+
} while (e = e.nextElementSibling);
|
|
9255
|
+
}
|
|
9256
|
+
} else nodes = none;
|
|
9278
9257
|
}
|
|
9279
9258
|
return !Config.NODE_LIST ? nodes : isInstanceOf(nodes) ? nodes : toNodeList(nodes);
|
|
9280
9259
|
}, byClass = function(cls, context) {
|
|
@@ -9466,7 +9445,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9466
9445
|
setIdentifierSyntax();
|
|
9467
9446
|
lastContext = switchContext(doc, true);
|
|
9468
9447
|
}, setIdentifierSyntax = function() {
|
|
9469
|
-
var
|
|
9448
|
+
var identifier = "(?:-|--|\\\\[0-9a-fA-F]{1,6}[" + HSP + "]?|\\\\[^" + VSP + "]|[^\\x00-\\x9f]|[\\w-])+", pseudonames = "[-\\w]+", pseudoparms = "(?:[-+]?\\d*)(?:n\\s?[-+]?\\s?\\d*)", attrparser = identifier + "|\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*(?:\"|$)|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*(?:'|$)", attrvalues = "([\\x22\\x27]?)((?!\\3)*|(?:\\\\?.)*?)(?:\\3|$)", attributes = "\\[(?:\\*\\|)?" + WSP + "?(" + identifier + "(?::" + identifier + ")?)" + WSP + "?(?:(" + CFG.operators + ")" + WSP + "?(?:" + attrparser + "))?(?:" + WSP + "?\\b(i))?" + WSP + "?(?:\\]|$)", attrmatcher = attributes.replace(attrparser, attrvalues), pseudoclass = "(?:\\x28" + WSP + "*(?:" + pseudoparms + "?)?|(?:\\*|\\*\\|)|(?:(?::" + pseudonames + "(?:\\x28" + pseudoparms + "?(?:\\x29|$))?|)|(?:[.#]?" + identifier + ")|(?:" + attributes + "))+|(?:" + WSP + "?[>+~][^>+~]" + WSP + "?)|(?:" + WSP + "?," + WSP + "?)|(?:" + WSP + "?)|(?:\\x29|$))*", standardValidator = "(?=" + WSP + "?[^>+~(){}<>])(?:(?:\\*|\\*\\|)|(?:[.#]?" + identifier + ")+|(?:" + attributes + ")+|(?:::?" + pseudonames + pseudoclass + ")|(?:" + WSP + "?" + CFG.combinators + WSP + "?)|(?:" + WSP + "?," + WSP + "?)|(?:" + WSP + "?))+";
|
|
9470
9449
|
reOptimizer = RegExp("(?:([.:#*]?)(" + identifier + ")(?::[-\\w]+|\\[[^\\]]+(?:\\]|$)|\\x28[^\\x29]+(?:\\x29|$))*)$");
|
|
9471
9450
|
reValidator = RegExp(standardValidator, "g");
|
|
9472
9451
|
Patterns.id = RegExp("^#(" + identifier + ")(.*)");
|
|
@@ -9493,8 +9472,6 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9493
9472
|
macro = N_BODY + (callback ? N_TEST : "") + N_TAIL;
|
|
9494
9473
|
head = N_HEAD;
|
|
9495
9474
|
loop = N_LOOP;
|
|
9496
|
-
break;
|
|
9497
|
-
default: break;
|
|
9498
9475
|
}
|
|
9499
9476
|
source = compileSelector(selector, macro, mode, callback);
|
|
9500
9477
|
loop += mode || mode === null ? "{" + source + "}" : source;
|
|
@@ -9511,9 +9488,10 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9511
9488
|
factory = Function("s", F_INIT + "{" + head + vars + ";" + loop + "return r;}")(Snapshot);
|
|
9512
9489
|
return mode || mode === null ? selectLambdas[selector] = factory : matchLambdas[selector] = factory;
|
|
9513
9490
|
}, compileSelector = function(expression, source, mode, callback) {
|
|
9514
|
-
var a, b, n, f, name, NS, compat, expr, match, result, status, symbol, test, type, selector = expression, vars;
|
|
9491
|
+
var a, b, n, f, k = 0, name, NS, compat, expr, match, result, status, symbol, test, type, selector = expression, vars;
|
|
9515
9492
|
selector = selector.replace(STD.combinator, "$1");
|
|
9516
9493
|
selector_recursion_label: while (selector) {
|
|
9494
|
+
++k;
|
|
9517
9495
|
symbol = STD.apimethods.test(selector) ? "|" : selector[0];
|
|
9518
9496
|
switch (symbol) {
|
|
9519
9497
|
case "*":
|
|
@@ -9559,26 +9537,26 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9559
9537
|
p3: "true"
|
|
9560
9538
|
} : test;
|
|
9561
9539
|
else if (match[2] == "~=" && match[4].includes(" ")) break;
|
|
9562
|
-
else if (match[4]) match[4] =
|
|
9540
|
+
else if (match[4]) match[4] = escapeIdentifier(match[4]).replace(REX.RegExpChar, "\\$&");
|
|
9563
9541
|
type = match[5] == "i" || HTML_DOCUMENT && HTML_TABLE[expr.toLowerCase()] ? "i" : "";
|
|
9564
9542
|
source = "if((" + (!match[2] ? NS ? "s.hasAttributeNS(e,\"" + name + "\")" : "e.hasAttribute&&e.hasAttribute(\"" + name + "\")" : !match[4] && ATTR_STD_OPS[match[2]] && match[2] != "~=" ? "e.getAttribute&&e.getAttribute(\"" + name + "\")==\"\"" : "(/" + test.p1 + match[4] + test.p2 + "/" + type + ").test(e.getAttribute&&e.getAttribute(\"" + name + "\"))==" + test.p3) + ")){" + source + "}";
|
|
9565
9543
|
break;
|
|
9566
9544
|
case "~":
|
|
9567
9545
|
match = selector.match(Patterns.relative);
|
|
9568
|
-
source = "while(e&&(e=e.previousElementSibling)){" + source + "}";
|
|
9546
|
+
source = "var N" + k + "=e;while(e&&(e=e.previousElementSibling)){" + source + "}e=N" + k + ";";
|
|
9569
9547
|
break;
|
|
9570
9548
|
case "+":
|
|
9571
9549
|
match = selector.match(Patterns.adjacent);
|
|
9572
|
-
source = "if(e&&(e=e.previousElementSibling)){" + source + "}";
|
|
9550
|
+
source = "var N" + k + "=e;if(e&&(e=e.previousElementSibling)){" + source + "}e=N" + k + ";";
|
|
9573
9551
|
break;
|
|
9574
9552
|
case " ":
|
|
9575
9553
|
case " ":
|
|
9576
9554
|
match = selector.match(Patterns.ancestor);
|
|
9577
|
-
source = "while(e&&(e=e.parentElement)){" + source + "}";
|
|
9555
|
+
source = "var N" + k + "=e;while(e&&(e=e.parentElement)){" + source + "}e=N" + k + ";";
|
|
9578
9556
|
break;
|
|
9579
9557
|
case ">":
|
|
9580
9558
|
match = selector.match(Patterns.children);
|
|
9581
|
-
source = "if(e&&(e=e.parentElement)){" + source + "}";
|
|
9559
|
+
source = "var N" + k + "=e;if(e&&(e=e.parentElement)){" + source + "}e=N" + k + ";";
|
|
9582
9560
|
break;
|
|
9583
9561
|
case symbol in Combinators ? symbol : void 0:
|
|
9584
9562
|
match[match.length - 1] = "*";
|
|
@@ -9615,9 +9593,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9615
9593
|
case "first-of-type":
|
|
9616
9594
|
source = "n=e;o=e.localName;while((n=n.previousElementSibling)&&n.localName!=o);if(!n){" + source + "}";
|
|
9617
9595
|
break;
|
|
9618
|
-
default:
|
|
9619
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9620
|
-
break;
|
|
9596
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9621
9597
|
}
|
|
9622
9598
|
} else if (match = selector.match(Patterns.treestruct)) {
|
|
9623
9599
|
match[1] = match[1].toLowerCase();
|
|
@@ -9653,9 +9629,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9653
9629
|
source = "n=s.nth" + expr + "(e," + type + ");if((" + test + ")){" + source + "}";
|
|
9654
9630
|
} else emit("'" + expression + "'" + qsInvalid);
|
|
9655
9631
|
break;
|
|
9656
|
-
default:
|
|
9657
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9658
|
-
break;
|
|
9632
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9659
9633
|
}
|
|
9660
9634
|
} else if (match = selector.match(Patterns.logicalsel)) {
|
|
9661
9635
|
match[1] = match[1].toLowerCase();
|
|
@@ -9674,11 +9648,9 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9674
9648
|
break;
|
|
9675
9649
|
case "has":
|
|
9676
9650
|
if (/^\s*(\+|\~)/.test(match[2])) source = "if(e.parentElement&&Array.from(e.parentElement" + (/^\s*[+]/.test(match[2]) ? ".querySelectorAll(\"*" + expr + "\")" : ".children") + ").includes(e.nextElementSibling)){" + source + "}";
|
|
9677
|
-
else source = "if(
|
|
9678
|
-
break;
|
|
9679
|
-
default:
|
|
9680
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9651
|
+
else source = "if(s.first(\":scope " + expr + "\",e)){" + source + "}";
|
|
9681
9652
|
break;
|
|
9653
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9682
9654
|
}
|
|
9683
9655
|
} else if (match = selector.match(Patterns.linguistic)) {
|
|
9684
9656
|
match[1] = match[1].toLowerCase();
|
|
@@ -9690,9 +9662,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9690
9662
|
expr = "(?:^|-)" + match[2] + "(?:-|$)";
|
|
9691
9663
|
source = "var p;if(((e.isConnected&&(e.lang==\"\"&&(p=s.ancestor(\"[lang]\",e)))&&(p.lang==\"" + match[2] + "\")||/" + expr + "/i.test(e.lang)))){" + source + "};";
|
|
9692
9664
|
break;
|
|
9693
|
-
default:
|
|
9694
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9695
|
-
break;
|
|
9665
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9696
9666
|
}
|
|
9697
9667
|
} else if (match = selector.match(Patterns.locationpc)) {
|
|
9698
9668
|
match[1] = match[1].toLowerCase();
|
|
@@ -9712,9 +9682,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9712
9682
|
case "defined":
|
|
9713
9683
|
source = "n=s.doc.defaultView.customElements.get(e.localName);if(n&&e instanceof n){" + source + "}";
|
|
9714
9684
|
break;
|
|
9715
|
-
default:
|
|
9716
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9717
|
-
break;
|
|
9685
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9718
9686
|
}
|
|
9719
9687
|
} else if (match = selector.match(Patterns.useraction)) {
|
|
9720
9688
|
match[1] = match[1].toLowerCase();
|
|
@@ -9734,9 +9702,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9734
9702
|
case "focus-within":
|
|
9735
9703
|
source = "if(n=s.isFocusable(e)){if(n!==e){while(n){n=n.parentElement;if(n===e)break;}}}if((n===e||n.autofocus)){" + source + "}";
|
|
9736
9704
|
break;
|
|
9737
|
-
default:
|
|
9738
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9739
|
-
break;
|
|
9705
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9740
9706
|
}
|
|
9741
9707
|
} else if (match = selector.match(Patterns.inputstate)) {
|
|
9742
9708
|
match[1] = match[1].toLowerCase();
|
|
@@ -9759,9 +9725,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9759
9725
|
case "default":
|
|
9760
9726
|
source = "if((\"form\" in e && e.form)){var x=0;n=[];if(e.type==\"image\")n=e.form.getElementsByTagName(\"input\");if(e.type==\"submit\")n=e.form.elements;while(n[x]&&e!==n[x]){if(n[x].type==\"image\")break;if(n[x].type==\"submit\")break;x++;}}if((e.form&&(e===n[x]&&\"|image|submit|\".includes(\"|\"+e.type+\"|\"))||((/^option$/i.test(e.localName))&&e.defaultSelected)||((\"|radio|checkbox|\".includes(\"|\"+e.type+\"|\"))&&e.defaultChecked))){" + source + "}";
|
|
9761
9727
|
break;
|
|
9762
|
-
default:
|
|
9763
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9764
|
-
break;
|
|
9728
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9765
9729
|
}
|
|
9766
9730
|
} else if (match = selector.match(Patterns.inputvalue)) {
|
|
9767
9731
|
match[1] = match[1].toLowerCase();
|
|
@@ -9790,9 +9754,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9790
9754
|
case "out-of-range":
|
|
9791
9755
|
source = "if((/^input$/i.test(e.localName))&&(e.willValidate&&!e.formNoValidate)&&(e.validity.rangeUnderflow||e.validity.rangeOverflow)&&(\"|date|datetime-local|month|number|range|time|week|\".includes(\"|\"+e.type+\"|\"))&&(\"range\"==e.type||e.getAttribute(\"min\")||e.getAttribute(\"max\"))){" + source + "}";
|
|
9792
9756
|
break;
|
|
9793
|
-
default:
|
|
9794
|
-
emit("'" + expression + "'" + qsInvalid);
|
|
9795
|
-
break;
|
|
9757
|
+
default: emit("'" + expression + "'" + qsInvalid);
|
|
9796
9758
|
}
|
|
9797
9759
|
} else if (match = selector.match(Patterns.rsrc_state)) {
|
|
9798
9760
|
match[1] = match[1].toLowerCase();
|
|
@@ -9808,11 +9770,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9808
9770
|
break;
|
|
9809
9771
|
case "buffering": break;
|
|
9810
9772
|
case "stalled": break;
|
|
9811
|
-
case "muted":
|
|
9812
|
-
source = "if(e.localName==\"audio\"&&e.getAttribute(\"muted\")){" + source + "}";
|
|
9813
|
-
break;
|
|
9814
|
-
case "volume-locked": break;
|
|
9815
|
-
default: break;
|
|
9773
|
+
case "muted": source = "if(e.localName==\"audio\"&&e.getAttribute(\"muted\")){" + source + "}";
|
|
9816
9774
|
}
|
|
9817
9775
|
} else if (match = selector.match(Patterns.pseudo_nop)) break;
|
|
9818
9776
|
else if (match = selector.match(Patterns.pseudo_sng)) source = "if(e.element&&e.type.toLowerCase()==\":" + match[0].toLowerCase() + "\"){e=e.element;" + source + "}";
|
|
@@ -9856,7 +9814,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9856
9814
|
return source;
|
|
9857
9815
|
}, makeref = function(selectors, element) {
|
|
9858
9816
|
if (element.nodeType === 9) element = element.documentElement;
|
|
9859
|
-
return selectors.replace(/:scope/i, element.localName + (element.id ? "#" +
|
|
9817
|
+
return selectors.replace(/:scope/i, element.localName + (element.id ? "#" + escapeIdentifier(element.id) : "") + (element.className ? "." + escapeIdentifier(element.classList[0]) : ""));
|
|
9860
9818
|
}, ancestor = function _closest(selectors, element, callback) {
|
|
9861
9819
|
parse(selectors, true);
|
|
9862
9820
|
selectors = makeref(selectors, element);
|
|
@@ -9879,10 +9837,12 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
9879
9837
|
} else if (arguments[0] === "") {
|
|
9880
9838
|
emit("''" + qsInvalid);
|
|
9881
9839
|
return Config.VERBOSITY ? void 0 : type ? none : false;
|
|
9840
|
+
} else if (/^[.#]?\d/.test(selectors)) {
|
|
9841
|
+
emit("''" + qsInvalid);
|
|
9842
|
+
return Config.VERBOSITY ? void 0 : type ? none : false;
|
|
9882
9843
|
}
|
|
9883
9844
|
if (typeof selectors != "string") selectors = "" + selectors;
|
|
9884
|
-
|
|
9885
|
-
parsed = unescape(selectors).replace(/\x00|\\$/g, "�").replace(REX.CombineWSP, " ").replace(REX.PseudosWSP, "$1").replace(REX.TabCharWSP, " ").replace(REX.CommaGroup, ",").replace(REX.TrimSpaces, "");
|
|
9845
|
+
parsed = selectors.replace(/\x00|\\$/g, "�").replace(REX.CombineWSP, " ").replace(REX.PseudosWSP, "$1").replace(REX.TabCharWSP, " ").replace(REX.CommaGroup, ",").replace(REX.TrimSpaces, "");
|
|
9886
9846
|
if ((selectors = parsed.match(reValidator)) && selectors.join("") == parsed) {
|
|
9887
9847
|
selectors = parsed.match(REX.SplitGroup);
|
|
9888
9848
|
if (parsed[parsed.length - 1] == ",") {
|
|
@@ -10053,6 +10013,7 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
10053
10013
|
byTag,
|
|
10054
10014
|
first,
|
|
10055
10015
|
match,
|
|
10016
|
+
select,
|
|
10056
10017
|
ancestor,
|
|
10057
10018
|
nthOfType,
|
|
10058
10019
|
nthElement,
|
|
@@ -10074,8 +10035,8 @@ var import_nwsapi = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exp
|
|
|
10074
10035
|
byId,
|
|
10075
10036
|
byTag,
|
|
10076
10037
|
byClass,
|
|
10077
|
-
match,
|
|
10078
10038
|
first,
|
|
10039
|
+
match,
|
|
10079
10040
|
select,
|
|
10080
10041
|
closest: ancestor,
|
|
10081
10042
|
compile,
|
|
@@ -10981,11 +10942,13 @@ function createConsole() {
|
|
|
10981
10942
|
var MockHeaders = class {
|
|
10982
10943
|
_values = [];
|
|
10983
10944
|
constructor(init) {
|
|
10984
|
-
if (typeof init === "object")
|
|
10985
|
-
|
|
10986
|
-
|
|
10987
|
-
|
|
10988
|
-
|
|
10945
|
+
if (typeof init === "object") {
|
|
10946
|
+
if (typeof init[Symbol.iterator] === "function") {
|
|
10947
|
+
const kvs = [];
|
|
10948
|
+
for (const kv of init) if (typeof kv[Symbol.iterator] === "function") kvs.push([...kv]);
|
|
10949
|
+
for (const kv of kvs) this.append(kv[0], kv[1]);
|
|
10950
|
+
} else for (const key in init) this.append(key, init[key]);
|
|
10951
|
+
}
|
|
10989
10952
|
}
|
|
10990
10953
|
append(key, value) {
|
|
10991
10954
|
this._values.push([key, value + ""]);
|
|
@@ -11284,6 +11247,7 @@ var MockIntersectionObserver = class {
|
|
|
11284
11247
|
}
|
|
11285
11248
|
unobserve() {}
|
|
11286
11249
|
};
|
|
11250
|
+
const DEFAULT_LOCATION_HREF = "http://localhost/";
|
|
11287
11251
|
var MockLocation = class {
|
|
11288
11252
|
ancestorOrigins = null;
|
|
11289
11253
|
protocol = "";
|
|
@@ -11314,6 +11278,9 @@ var MockLocation = class {
|
|
|
11314
11278
|
this.password = url.password;
|
|
11315
11279
|
this.origin = url.origin;
|
|
11316
11280
|
}
|
|
11281
|
+
constructor() {
|
|
11282
|
+
this.href = DEFAULT_LOCATION_HREF;
|
|
11283
|
+
}
|
|
11317
11284
|
assign(_url) {}
|
|
11318
11285
|
reload(_forcedReload) {}
|
|
11319
11286
|
replace(_url) {}
|
|
@@ -11389,11 +11356,16 @@ var MockResizeObserver = class {
|
|
|
11389
11356
|
var MockShadowRoot = class extends MockDocumentFragment {
|
|
11390
11357
|
_mode = "open";
|
|
11391
11358
|
_delegatesFocus = false;
|
|
11359
|
+
_clonable = false;
|
|
11360
|
+
_serializable = false;
|
|
11392
11361
|
get activeElement() {
|
|
11393
11362
|
return null;
|
|
11394
11363
|
}
|
|
11395
|
-
get
|
|
11396
|
-
return
|
|
11364
|
+
get clonable() {
|
|
11365
|
+
return this._clonable;
|
|
11366
|
+
}
|
|
11367
|
+
set clonable(value) {
|
|
11368
|
+
this._clonable = value;
|
|
11397
11369
|
}
|
|
11398
11370
|
get delegatesFocus() {
|
|
11399
11371
|
return this._delegatesFocus;
|
|
@@ -11425,7 +11397,10 @@ var MockShadowRoot = class extends MockDocumentFragment {
|
|
|
11425
11397
|
return null;
|
|
11426
11398
|
}
|
|
11427
11399
|
get serializable() {
|
|
11428
|
-
return
|
|
11400
|
+
return this._serializable;
|
|
11401
|
+
}
|
|
11402
|
+
set serializable(value) {
|
|
11403
|
+
this._serializable = value;
|
|
11429
11404
|
}
|
|
11430
11405
|
get slotAssignment() {
|
|
11431
11406
|
return "named";
|
|
@@ -11507,8 +11482,8 @@ var MockWindow = class {
|
|
|
11507
11482
|
resetWindowDefaults(this);
|
|
11508
11483
|
resetWindowDimensions(this);
|
|
11509
11484
|
}
|
|
11510
|
-
addEventListener(type, handler) {
|
|
11511
|
-
addEventListener(this, type, handler);
|
|
11485
|
+
addEventListener(type, handler, options) {
|
|
11486
|
+
addEventListener(this, type, handler, options);
|
|
11512
11487
|
}
|
|
11513
11488
|
alert(msg) {
|
|
11514
11489
|
if (this.console) this.console.debug(msg);
|
|
@@ -11730,8 +11705,8 @@ var MockWindow = class {
|
|
|
11730
11705
|
get origin() {
|
|
11731
11706
|
return this.location.origin;
|
|
11732
11707
|
}
|
|
11733
|
-
removeEventListener(type, handler) {
|
|
11734
|
-
removeEventListener(this, type, handler);
|
|
11708
|
+
removeEventListener(type, handler, options) {
|
|
11709
|
+
removeEventListener(this, type, handler, options);
|
|
11735
11710
|
}
|
|
11736
11711
|
requestAnimationFrame(callback) {
|
|
11737
11712
|
return this.setTimeout(() => {
|
|
@@ -12041,7 +12016,8 @@ var MockDocument = class MockDocument extends MockHTMLElement {
|
|
|
12041
12016
|
this.#nwsapi = (0, import_nwsapi.default)({ document: this });
|
|
12042
12017
|
this.#nwsapi.configure({
|
|
12043
12018
|
LOGERRORS: false,
|
|
12044
|
-
VERBOSITY: false
|
|
12019
|
+
VERBOSITY: false,
|
|
12020
|
+
IDS_DUPES: false
|
|
12045
12021
|
});
|
|
12046
12022
|
}
|
|
12047
12023
|
return this.#nwsapi;
|
|
@@ -12229,7 +12205,7 @@ function resetDocument(doc) {
|
|
|
12229
12205
|
} catch {}
|
|
12230
12206
|
}
|
|
12231
12207
|
}
|
|
12232
|
-
const DOC_KEY_KEEPERS = new Set([
|
|
12208
|
+
const DOC_KEY_KEEPERS = /* @__PURE__ */ new Set([
|
|
12233
12209
|
"nodeName",
|
|
12234
12210
|
"nodeType",
|
|
12235
12211
|
"nodeValue",
|
|
@@ -12354,9 +12330,11 @@ const catchError = (diagnostics, err, msg) => {
|
|
|
12354
12330
|
lines: []
|
|
12355
12331
|
};
|
|
12356
12332
|
if (isString(msg)) diagnostic.messageText = msg.length ? msg : "UNKNOWN ERROR";
|
|
12357
|
-
else if (err != null)
|
|
12358
|
-
|
|
12359
|
-
|
|
12333
|
+
else if (err != null) {
|
|
12334
|
+
if (err.stack != null) diagnostic.messageText = err.stack.toString();
|
|
12335
|
+
else if (err.message != null) diagnostic.messageText = err.message.length ? err.message : "UNKNOWN ERROR";
|
|
12336
|
+
else diagnostic.messageText = err.toString();
|
|
12337
|
+
}
|
|
12360
12338
|
if (diagnostics != null && !shouldIgnoreError(diagnostic.messageText)) diagnostics.push(diagnostic);
|
|
12361
12339
|
return diagnostic;
|
|
12362
12340
|
};
|
|
@@ -12599,7 +12577,8 @@ const parseCss = (css, filePath) => {
|
|
|
12599
12577
|
};
|
|
12600
12578
|
const atquery = (name) => {
|
|
12601
12579
|
const pos = position();
|
|
12602
|
-
const
|
|
12580
|
+
const regex = new RegExp("^@" + name + " *([^{]+)");
|
|
12581
|
+
const m = match(regex);
|
|
12603
12582
|
if (!m) return null;
|
|
12604
12583
|
const media = trim(m[1]);
|
|
12605
12584
|
if (!open()) return error(`@${name} missing '{'`);
|
|
@@ -12618,7 +12597,8 @@ const parseCss = (css, filePath) => {
|
|
|
12618
12597
|
*/
|
|
12619
12598
|
const nestedAtQuery = (name) => {
|
|
12620
12599
|
const pos = position();
|
|
12621
|
-
const
|
|
12600
|
+
const regex = new RegExp("^@" + name + " *([^{]+)");
|
|
12601
|
+
const m = match(regex);
|
|
12622
12602
|
if (!m) return null;
|
|
12623
12603
|
const media = trim(m[1]);
|
|
12624
12604
|
const decls = declarations();
|
|
@@ -12876,8 +12856,10 @@ const serializeCssVisitNode = (opts, node, index, len) => {
|
|
|
12876
12856
|
const nodeType = node.type;
|
|
12877
12857
|
if (nodeType === 4) return serializeCssDeclaration(node, index, len);
|
|
12878
12858
|
if (nodeType === 14) return serializeCssRule(opts, node);
|
|
12879
|
-
if (nodeType === 1)
|
|
12880
|
-
|
|
12859
|
+
if (nodeType === 1) {
|
|
12860
|
+
if (node.comment?.[0] === "!") return `/*${node.comment}*/`;
|
|
12861
|
+
else return "";
|
|
12862
|
+
}
|
|
12881
12863
|
if (nodeType === 10) return serializeCssMedia(opts, node);
|
|
12882
12864
|
if (nodeType === 11) return serializeCssContainer(opts, node);
|
|
12883
12865
|
if (nodeType === 8) return serializeCssKeyframes(opts, node);
|
|
@@ -13176,7 +13158,6 @@ function inspectElement(results, elm, depth) {
|
|
|
13176
13158
|
content: childElm.textContent
|
|
13177
13159
|
});
|
|
13178
13160
|
}
|
|
13179
|
-
break;
|
|
13180
13161
|
}
|
|
13181
13162
|
depth++;
|
|
13182
13163
|
inspectElement(results, childElm, depth);
|
|
@@ -13195,7 +13176,7 @@ function collectAttributes(node) {
|
|
|
13195
13176
|
}
|
|
13196
13177
|
return parsedElm;
|
|
13197
13178
|
}
|
|
13198
|
-
const SKIP_ATTRS = new Set(["s-id", "c-id"]);
|
|
13179
|
+
const SKIP_ATTRS = /* @__PURE__ */ new Set(["s-id", "c-id"]);
|
|
13199
13180
|
//#endregion
|
|
13200
13181
|
//#region src/server/runner/patch-dom-implementation.ts
|
|
13201
13182
|
function patchDomImplementation(doc, opts) {
|
|
@@ -13335,9 +13316,11 @@ function renderBuildError(results, msg) {
|
|
|
13335
13316
|
}
|
|
13336
13317
|
function renderCatchError(results, err) {
|
|
13337
13318
|
const diagnostic = renderBuildError(results);
|
|
13338
|
-
if (err != null)
|
|
13339
|
-
|
|
13340
|
-
|
|
13319
|
+
if (err != null) {
|
|
13320
|
+
if (err.stack != null) diagnostic.messageText = err.stack.toString();
|
|
13321
|
+
else if (err.message != null) diagnostic.messageText = err.message.toString();
|
|
13322
|
+
else diagnostic.messageText = err.toString();
|
|
13323
|
+
}
|
|
13341
13324
|
return diagnostic;
|
|
13342
13325
|
}
|
|
13343
13326
|
//#endregion
|