@qelos/aidev 0.11.0 → 1.0.1

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.
Files changed (1707) hide show
  1. package/.env.aidev.example +6 -1
  2. package/README.md +21 -0
  3. package/dist/__tests__/accepted.test.d.ts +2 -0
  4. package/dist/__tests__/accepted.test.d.ts.map +1 -0
  5. package/dist/__tests__/accepted.test.js +151 -0
  6. package/dist/__tests__/accepted.test.js.map +1 -0
  7. package/dist/__tests__/activeTask.test.d.ts +2 -0
  8. package/dist/__tests__/activeTask.test.d.ts.map +1 -0
  9. package/dist/__tests__/activeTask.test.js +106 -0
  10. package/dist/__tests__/activeTask.test.js.map +1 -0
  11. package/dist/__tests__/ai-runners.test.d.ts +2 -0
  12. package/dist/__tests__/ai-runners.test.d.ts.map +1 -0
  13. package/dist/__tests__/ai-runners.test.js +717 -0
  14. package/dist/__tests__/ai-runners.test.js.map +1 -0
  15. package/dist/__tests__/clickup-format.test.d.ts +2 -0
  16. package/dist/__tests__/clickup-format.test.d.ts.map +1 -0
  17. package/dist/__tests__/clickup-format.test.js +256 -0
  18. package/dist/__tests__/clickup-format.test.js.map +1 -0
  19. package/dist/__tests__/config.test.d.ts +2 -0
  20. package/dist/__tests__/config.test.d.ts.map +1 -0
  21. package/dist/__tests__/config.test.js +493 -0
  22. package/dist/__tests__/config.test.js.map +1 -0
  23. package/dist/__tests__/git.test.d.ts +2 -0
  24. package/dist/__tests__/git.test.d.ts.map +1 -0
  25. package/dist/__tests__/git.test.js +697 -0
  26. package/dist/__tests__/git.test.js.map +1 -0
  27. package/dist/__tests__/github.test.d.ts +2 -0
  28. package/dist/__tests__/github.test.d.ts.map +1 -0
  29. package/dist/__tests__/github.test.js +292 -0
  30. package/dist/__tests__/github.test.js.map +1 -0
  31. package/dist/__tests__/help.test.d.ts +2 -0
  32. package/dist/__tests__/help.test.d.ts.map +1 -0
  33. package/dist/__tests__/help.test.js +34 -0
  34. package/dist/__tests__/help.test.js.map +1 -0
  35. package/dist/__tests__/hooks.test.d.ts +2 -0
  36. package/dist/__tests__/hooks.test.d.ts.map +1 -0
  37. package/dist/__tests__/hooks.test.js +381 -0
  38. package/dist/__tests__/hooks.test.js.map +1 -0
  39. package/dist/__tests__/init.test.d.ts +2 -0
  40. package/dist/__tests__/init.test.d.ts.map +1 -0
  41. package/dist/__tests__/init.test.js +850 -0
  42. package/dist/__tests__/init.test.js.map +1 -0
  43. package/dist/__tests__/local-provider.test.d.ts +2 -0
  44. package/dist/__tests__/local-provider.test.d.ts.map +1 -0
  45. package/dist/__tests__/local-provider.test.js +631 -0
  46. package/dist/__tests__/local-provider.test.js.map +1 -0
  47. package/dist/__tests__/lockfile.test.d.ts +2 -0
  48. package/dist/__tests__/lockfile.test.d.ts.map +1 -0
  49. package/dist/__tests__/lockfile.test.js +144 -0
  50. package/dist/__tests__/lockfile.test.js.map +1 -0
  51. package/dist/__tests__/permissions.test.d.ts +2 -0
  52. package/dist/__tests__/permissions.test.d.ts.map +1 -0
  53. package/dist/__tests__/permissions.test.js +197 -0
  54. package/dist/__tests__/permissions.test.js.map +1 -0
  55. package/dist/__tests__/planning.test.d.ts +2 -0
  56. package/dist/__tests__/planning.test.d.ts.map +1 -0
  57. package/dist/__tests__/planning.test.js +444 -0
  58. package/dist/__tests__/planning.test.js.map +1 -0
  59. package/dist/__tests__/platform.test.d.ts +2 -0
  60. package/dist/__tests__/platform.test.d.ts.map +1 -0
  61. package/dist/__tests__/platform.test.js +329 -0
  62. package/dist/__tests__/platform.test.js.map +1 -0
  63. package/dist/__tests__/providers.test.d.ts +2 -0
  64. package/dist/__tests__/providers.test.d.ts.map +1 -0
  65. package/dist/__tests__/providers.test.js +1238 -0
  66. package/dist/__tests__/providers.test.js.map +1 -0
  67. package/dist/__tests__/run.test.d.ts +2 -0
  68. package/dist/__tests__/run.test.d.ts.map +1 -0
  69. package/dist/__tests__/run.test.js +943 -0
  70. package/dist/__tests__/run.test.js.map +1 -0
  71. package/dist/__tests__/schedule.test.d.ts +2 -0
  72. package/dist/__tests__/schedule.test.d.ts.map +1 -0
  73. package/dist/__tests__/schedule.test.js +385 -0
  74. package/dist/__tests__/schedule.test.js.map +1 -0
  75. package/dist/__tests__/sessions.test.d.ts +2 -0
  76. package/dist/__tests__/sessions.test.d.ts.map +1 -0
  77. package/dist/__tests__/sessions.test.js +232 -0
  78. package/dist/__tests__/sessions.test.js.map +1 -0
  79. package/dist/__tests__/tasks.test.d.ts +2 -0
  80. package/dist/__tests__/tasks.test.d.ts.map +1 -0
  81. package/dist/__tests__/tasks.test.js +440 -0
  82. package/dist/__tests__/tasks.test.js.map +1 -0
  83. package/dist/__tests__/thinking-recovery.test.d.ts +2 -0
  84. package/dist/__tests__/thinking-recovery.test.d.ts.map +1 -0
  85. package/dist/__tests__/thinking-recovery.test.js +464 -0
  86. package/dist/__tests__/thinking-recovery.test.js.map +1 -0
  87. package/dist/activeTask.d.ts +11 -0
  88. package/dist/activeTask.d.ts.map +1 -0
  89. package/dist/activeTask.js +79 -0
  90. package/dist/activeTask.js.map +1 -0
  91. package/dist/ai/anthropicSdk.d.ts +6 -4
  92. package/dist/ai/anthropicSdk.d.ts.map +1 -1
  93. package/dist/ai/anthropicSdk.js +7 -5
  94. package/dist/ai/anthropicSdk.js.map +1 -1
  95. package/dist/ai/claude.d.ts.map +1 -1
  96. package/dist/ai/claude.js +6 -1
  97. package/dist/ai/claude.js.map +1 -1
  98. package/dist/cli.js +38 -13
  99. package/dist/cli.js.map +1 -1
  100. package/dist/commands/init.d.ts +2 -1
  101. package/dist/commands/init.d.ts.map +1 -1
  102. package/dist/commands/init.js +24 -6
  103. package/dist/commands/init.js.map +1 -1
  104. package/dist/commands/run.d.ts +4 -2
  105. package/dist/commands/run.d.ts.map +1 -1
  106. package/dist/commands/run.js +52 -21
  107. package/dist/commands/run.js.map +1 -1
  108. package/dist/commands/schedule.d.ts +40 -0
  109. package/dist/commands/schedule.d.ts.map +1 -1
  110. package/dist/commands/schedule.js +296 -25
  111. package/dist/commands/schedule.js.map +1 -1
  112. package/dist/commands/ui.d.ts +6 -0
  113. package/dist/commands/ui.d.ts.map +1 -0
  114. package/dist/commands/ui.js +176 -0
  115. package/dist/commands/ui.js.map +1 -0
  116. package/dist/config.d.ts.map +1 -1
  117. package/dist/config.js +3 -1
  118. package/dist/config.js.map +1 -1
  119. package/dist/providers/base.d.ts +15 -3
  120. package/dist/providers/base.d.ts.map +1 -1
  121. package/dist/providers/clickup.d.ts +12 -3
  122. package/dist/providers/clickup.d.ts.map +1 -1
  123. package/dist/providers/clickup.js +103 -37
  124. package/dist/providers/clickup.js.map +1 -1
  125. package/dist/providers/jira.d.ts +6 -3
  126. package/dist/providers/jira.d.ts.map +1 -1
  127. package/dist/providers/jira.js +54 -10
  128. package/dist/providers/jira.js.map +1 -1
  129. package/dist/providers/linear.d.ts +4 -2
  130. package/dist/providers/linear.d.ts.map +1 -1
  131. package/dist/providers/linear.js +62 -2
  132. package/dist/providers/linear.js.map +1 -1
  133. package/dist/providers/local.d.ts +3 -2
  134. package/dist/providers/local.d.ts.map +1 -1
  135. package/dist/providers/local.js +19 -2
  136. package/dist/providers/local.js.map +1 -1
  137. package/dist/providers/monday.d.ts +2 -2
  138. package/dist/providers/monday.d.ts.map +1 -1
  139. package/dist/providers/monday.js +2 -2
  140. package/dist/providers/monday.js.map +1 -1
  141. package/dist/providers/notion.d.ts +3 -2
  142. package/dist/providers/notion.d.ts.map +1 -1
  143. package/dist/providers/notion.js +24 -2
  144. package/dist/providers/notion.js.map +1 -1
  145. package/dist/providers/trello.d.ts +5 -3
  146. package/dist/providers/trello.d.ts.map +1 -1
  147. package/dist/providers/trello.js +90 -10
  148. package/dist/providers/trello.js.map +1 -1
  149. package/dist/types.d.ts +7 -0
  150. package/dist/types.d.ts.map +1 -1
  151. package/package.json +9 -2
  152. package/ui/.output/nitro.json +15 -0
  153. package/ui/.output/public/_nuxt/2bKOvQ0d.js +1 -0
  154. package/ui/.output/public/_nuxt/B2vj_HiW.js +1 -0
  155. package/ui/.output/public/_nuxt/B9AVA2DP.js +1 -0
  156. package/ui/.output/public/_nuxt/Bwm-qAEx.js +1 -0
  157. package/ui/.output/public/_nuxt/C2BUFUls.js +1 -0
  158. package/ui/.output/public/_nuxt/C7JnlssT.js +1 -0
  159. package/ui/.output/public/_nuxt/C9wM2XOU.js +70 -0
  160. package/ui/.output/public/_nuxt/CLsTGSNv.js +1 -0
  161. package/ui/.output/public/_nuxt/CYtbVgsc.js +1 -0
  162. package/ui/.output/public/_nuxt/CgEeSDUJ.js +1 -0
  163. package/ui/.output/public/_nuxt/CjYvNw4D.js +1 -0
  164. package/ui/.output/public/_nuxt/CnlcD-w9.js +4 -0
  165. package/ui/.output/public/_nuxt/Czg20gUb.js +1 -0
  166. package/ui/.output/public/_nuxt/D7LY3N47.js +16 -0
  167. package/ui/.output/public/_nuxt/DCp3GJQW.js +1 -0
  168. package/ui/.output/public/_nuxt/DKIXA6Zt.js +1 -0
  169. package/ui/.output/public/_nuxt/DL7l9XXk.js +6 -0
  170. package/ui/.output/public/_nuxt/DWD1xjy0.js +2 -0
  171. package/ui/.output/public/_nuxt/DWMhLzME.js +1 -0
  172. package/ui/.output/public/_nuxt/Daca6CiN.js +5 -0
  173. package/ui/.output/public/_nuxt/DehGGwZq.js +1 -0
  174. package/ui/.output/public/_nuxt/DlAUqK2U.js +1 -0
  175. package/ui/.output/public/_nuxt/DqW9UKXb.js +1 -0
  176. package/ui/.output/public/_nuxt/Select.qOczc23w.css +1 -0
  177. package/ui/.output/public/_nuxt/bW-720fM.js +1 -0
  178. package/ui/.output/public/_nuxt/builds/latest.json +1 -0
  179. package/ui/.output/public/_nuxt/builds/meta/c49b1b03-d8dc-418a-b51f-b44d0b1baf95.json +1 -0
  180. package/ui/.output/public/_nuxt/config.ClyHUYof.css +1 -0
  181. package/ui/.output/public/_nuxt/default.Dw-0Xw5D.css +1 -0
  182. package/ui/.output/public/_nuxt/error-404.DL_4WIao.css +1 -0
  183. package/ui/.output/public/_nuxt/error-500.I1Dtv2V5.css +1 -0
  184. package/ui/.output/public/_nuxt/login.DTksG_7N.css +1 -0
  185. package/ui/.output/public/_nuxt/logs.BmDpUxtf.css +1 -0
  186. package/ui/.output/public/_nuxt/m0N__S0x.js +1 -0
  187. package/ui/.output/public/_nuxt/run.ByHLIFjd.css +1 -0
  188. package/ui/.output/public/_nuxt/schedule.Do4mgJz1.css +1 -0
  189. package/ui/.output/public/_nuxt/tasks.C3nyxPxf.css +1 -0
  190. package/ui/.output/server/chunks/_/error-500.mjs +19 -0
  191. package/ui/.output/server/chunks/_/error-500.mjs.map +1 -0
  192. package/ui/.output/server/chunks/_/icons.mjs +5190 -0
  193. package/ui/.output/server/chunks/_/icons.mjs.map +1 -0
  194. package/ui/.output/server/chunks/build/Badge-2SB8hHdz.mjs +215 -0
  195. package/ui/.output/server/chunks/build/Badge-2SB8hHdz.mjs.map +1 -0
  196. package/ui/.output/server/chunks/build/Button-Dgqz5RR8.mjs +718 -0
  197. package/ui/.output/server/chunks/build/Button-Dgqz5RR8.mjs.map +1 -0
  198. package/ui/.output/server/chunks/build/Card-BkfpdQZ7.mjs +128 -0
  199. package/ui/.output/server/chunks/build/Card-BkfpdQZ7.mjs.map +1 -0
  200. package/ui/.output/server/chunks/build/FormGroup-UXO0FHfr.mjs +185 -0
  201. package/ui/.output/server/chunks/build/FormGroup-UXO0FHfr.mjs.map +1 -0
  202. package/ui/.output/server/chunks/build/Input-ckU7qZlb.mjs +374 -0
  203. package/ui/.output/server/chunks/build/Input-ckU7qZlb.mjs.map +1 -0
  204. package/ui/.output/server/chunks/build/MarkdownContent-styles.Cmzswe4U.mjs +8 -0
  205. package/ui/.output/server/chunks/build/MarkdownContent-styles.Cmzswe4U.mjs.map +1 -0
  206. package/ui/.output/server/chunks/build/Modal-KQ_hNOLI.mjs +1194 -0
  207. package/ui/.output/server/chunks/build/Modal-KQ_hNOLI.mjs.map +1 -0
  208. package/ui/.output/server/chunks/build/Select-ByGZz9s4.mjs +335 -0
  209. package/ui/.output/server/chunks/build/Select-ByGZz9s4.mjs.map +1 -0
  210. package/ui/.output/server/chunks/build/Select-styles.D58nX-1h.mjs +8 -0
  211. package/ui/.output/server/chunks/build/Select-styles.D58nX-1h.mjs.map +1 -0
  212. package/ui/.output/server/chunks/build/TagsBar-styles.Dl9oYtA7.mjs +8 -0
  213. package/ui/.output/server/chunks/build/TagsBar-styles.Dl9oYtA7.mjs.map +1 -0
  214. package/ui/.output/server/chunks/build/TaskCreateModal-styles.Ctk3K3aq.mjs +8 -0
  215. package/ui/.output/server/chunks/build/TaskCreateModal-styles.Ctk3K3aq.mjs.map +1 -0
  216. package/ui/.output/server/chunks/build/TaskDetailExecute-styles.BOwrZEBG.mjs +8 -0
  217. package/ui/.output/server/chunks/build/TaskDetailExecute-styles.BOwrZEBG.mjs.map +1 -0
  218. package/ui/.output/server/chunks/build/TaskDetailModal-styles.BpZ60PFP.mjs +8 -0
  219. package/ui/.output/server/chunks/build/TaskDetailModal-styles.BpZ60PFP.mjs.map +1 -0
  220. package/ui/.output/server/chunks/build/TasksBoard-styles.CDYjY0Wq.mjs +8 -0
  221. package/ui/.output/server/chunks/build/TasksBoard-styles.CDYjY0Wq.mjs.map +1 -0
  222. package/ui/.output/server/chunks/build/TasksBoardColumn-styles.X1QYmfM6.mjs +8 -0
  223. package/ui/.output/server/chunks/build/TasksBoardColumn-styles.X1QYmfM6.mjs.map +1 -0
  224. package/ui/.output/server/chunks/build/TasksTaskCard-styles.VxnwrHTQ.mjs +8 -0
  225. package/ui/.output/server/chunks/build/TasksTaskCard-styles.VxnwrHTQ.mjs.map +1 -0
  226. package/ui/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs +10 -0
  227. package/ui/.output/server/chunks/build/_plugin-vue_export-helper-1tPrXgE0.mjs.map +1 -0
  228. package/ui/.output/server/chunks/build/client.precomputed.mjs +4 -0
  229. package/ui/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
  230. package/ui/.output/server/chunks/build/config-QZGfNfGJ.mjs +2088 -0
  231. package/ui/.output/server/chunks/build/config-QZGfNfGJ.mjs.map +1 -0
  232. package/ui/.output/server/chunks/build/config-styles.DjqRFF9g.mjs +8 -0
  233. package/ui/.output/server/chunks/build/config-styles.DjqRFF9g.mjs.map +1 -0
  234. package/ui/.output/server/chunks/build/default-DiZbTfNE.mjs +116 -0
  235. package/ui/.output/server/chunks/build/default-DiZbTfNE.mjs.map +1 -0
  236. package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs +8 -0
  237. package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs.map +1 -0
  238. package/ui/.output/server/chunks/build/entry-styles.D33dgEBj.mjs +11 -0
  239. package/ui/.output/server/chunks/build/entry-styles.D33dgEBj.mjs.map +1 -0
  240. package/ui/.output/server/chunks/build/error-404-NTLKljQP.mjs +108 -0
  241. package/ui/.output/server/chunks/build/error-404-NTLKljQP.mjs.map +1 -0
  242. package/ui/.output/server/chunks/build/error-404-styles.CiJjK6WX.mjs +8 -0
  243. package/ui/.output/server/chunks/build/error-404-styles.CiJjK6WX.mjs.map +1 -0
  244. package/ui/.output/server/chunks/build/error-500-CoQbT3iY.mjs +86 -0
  245. package/ui/.output/server/chunks/build/error-500-CoQbT3iY.mjs.map +1 -0
  246. package/ui/.output/server/chunks/build/error-500-styles.ulHNpcF1.mjs +8 -0
  247. package/ui/.output/server/chunks/build/error-500-styles.ulHNpcF1.mjs.map +1 -0
  248. package/ui/.output/server/chunks/build/index-DZrzYTcX.mjs +89 -0
  249. package/ui/.output/server/chunks/build/index-DZrzYTcX.mjs.map +1 -0
  250. package/ui/.output/server/chunks/build/index-Dy4Tu7MB.mjs +607 -0
  251. package/ui/.output/server/chunks/build/index-Dy4Tu7MB.mjs.map +1 -0
  252. package/ui/.output/server/chunks/build/interval-Dye37XM9.mjs +186 -0
  253. package/ui/.output/server/chunks/build/interval-Dye37XM9.mjs.map +1 -0
  254. package/ui/.output/server/chunks/build/login-cekfLp5n.mjs +162 -0
  255. package/ui/.output/server/chunks/build/login-cekfLp5n.mjs.map +1 -0
  256. package/ui/.output/server/chunks/build/login-styles.DX0ZNufk.mjs +8 -0
  257. package/ui/.output/server/chunks/build/login-styles.DX0ZNufk.mjs.map +1 -0
  258. package/ui/.output/server/chunks/build/logs-hZKOhIqF.mjs +586 -0
  259. package/ui/.output/server/chunks/build/logs-hZKOhIqF.mjs.map +1 -0
  260. package/ui/.output/server/chunks/build/logs-styles.jGthmQxA.mjs +8 -0
  261. package/ui/.output/server/chunks/build/logs-styles.jGthmQxA.mjs.map +1 -0
  262. package/ui/.output/server/chunks/build/nuxt-link-B3UD8izG.mjs +293 -0
  263. package/ui/.output/server/chunks/build/nuxt-link-B3UD8izG.mjs.map +1 -0
  264. package/ui/.output/server/chunks/build/run-CfSa6qTR.mjs +312 -0
  265. package/ui/.output/server/chunks/build/run-CfSa6qTR.mjs.map +1 -0
  266. package/ui/.output/server/chunks/build/run-styles.PsIyKaYb.mjs +8 -0
  267. package/ui/.output/server/chunks/build/run-styles.PsIyKaYb.mjs.map +1 -0
  268. package/ui/.output/server/chunks/build/schedule-Pz7_wUvq.mjs +869 -0
  269. package/ui/.output/server/chunks/build/schedule-Pz7_wUvq.mjs.map +1 -0
  270. package/ui/.output/server/chunks/build/schedule-styles.Bv6vOJH1.mjs +8 -0
  271. package/ui/.output/server/chunks/build/schedule-styles.Bv6vOJH1.mjs.map +1 -0
  272. package/ui/.output/server/chunks/build/selectMenu-B2FUotwL.mjs +158 -0
  273. package/ui/.output/server/chunks/build/selectMenu-B2FUotwL.mjs.map +1 -0
  274. package/ui/.output/server/chunks/build/server.mjs +1853 -0
  275. package/ui/.output/server/chunks/build/server.mjs.map +1 -0
  276. package/ui/.output/server/chunks/build/styles.mjs +25 -0
  277. package/ui/.output/server/chunks/build/styles.mjs.map +1 -0
  278. package/ui/.output/server/chunks/build/tasks-Bc5VRFpY.mjs +2239 -0
  279. package/ui/.output/server/chunks/build/tasks-Bc5VRFpY.mjs.map +1 -0
  280. package/ui/.output/server/chunks/build/tasks-styles-1.mjs-F12QSoy2.mjs +4 -0
  281. package/ui/.output/server/chunks/build/tasks-styles-1.mjs-F12QSoy2.mjs.map +1 -0
  282. package/ui/.output/server/chunks/build/tasks-styles-2.mjs-U_AoCSxR.mjs +4 -0
  283. package/ui/.output/server/chunks/build/tasks-styles-2.mjs-U_AoCSxR.mjs.map +1 -0
  284. package/ui/.output/server/chunks/build/tasks-styles-3.mjs-DI5PT28Z.mjs +4 -0
  285. package/ui/.output/server/chunks/build/tasks-styles-3.mjs-DI5PT28Z.mjs.map +1 -0
  286. package/ui/.output/server/chunks/build/tasks-styles-4.mjs-D037ZDm6.mjs +4 -0
  287. package/ui/.output/server/chunks/build/tasks-styles-4.mjs-D037ZDm6.mjs.map +1 -0
  288. package/ui/.output/server/chunks/build/tasks-styles-5.mjs-C-8-0itm.mjs +4 -0
  289. package/ui/.output/server/chunks/build/tasks-styles-5.mjs-C-8-0itm.mjs.map +1 -0
  290. package/ui/.output/server/chunks/build/tasks-styles-6.mjs-eVZp4A8Q.mjs +4 -0
  291. package/ui/.output/server/chunks/build/tasks-styles-6.mjs-eVZp4A8Q.mjs.map +1 -0
  292. package/ui/.output/server/chunks/build/tasks-styles-7.mjs-DPUNG0PO.mjs +4 -0
  293. package/ui/.output/server/chunks/build/tasks-styles-7.mjs-DPUNG0PO.mjs.map +1 -0
  294. package/ui/.output/server/chunks/build/tasks-styles-8.mjs-BWrrF67v.mjs +4 -0
  295. package/ui/.output/server/chunks/build/tasks-styles-8.mjs-BWrrF67v.mjs.map +1 -0
  296. package/ui/.output/server/chunks/build/tasks-styles.C7XECkUG.mjs +25 -0
  297. package/ui/.output/server/chunks/build/tasks-styles.C7XECkUG.mjs.map +1 -0
  298. package/ui/.output/server/chunks/build/useApi-CFWxoIea.mjs +470 -0
  299. package/ui/.output/server/chunks/build/useApi-CFWxoIea.mjs.map +1 -0
  300. package/ui/.output/server/chunks/nitro/nitro.mjs +6418 -0
  301. package/ui/.output/server/chunks/nitro/nitro.mjs.map +1 -0
  302. package/ui/.output/server/chunks/routes/api/config/test.post.mjs +146 -0
  303. package/ui/.output/server/chunks/routes/api/config/test.post.mjs.map +1 -0
  304. package/ui/.output/server/chunks/routes/api/config.get.mjs +27 -0
  305. package/ui/.output/server/chunks/routes/api/config.get.mjs.map +1 -0
  306. package/ui/.output/server/chunks/routes/api/config.put.mjs +44 -0
  307. package/ui/.output/server/chunks/routes/api/config.put.mjs.map +1 -0
  308. package/ui/.output/server/chunks/routes/api/logs.delete.mjs +32 -0
  309. package/ui/.output/server/chunks/routes/api/logs.delete.mjs.map +1 -0
  310. package/ui/.output/server/chunks/routes/api/logs.get.mjs +63 -0
  311. package/ui/.output/server/chunks/routes/api/logs.get.mjs.map +1 -0
  312. package/ui/.output/server/chunks/routes/api/run/cancel.post.mjs +42 -0
  313. package/ui/.output/server/chunks/routes/api/run/cancel.post.mjs.map +1 -0
  314. package/ui/.output/server/chunks/routes/api/run.post.mjs +98 -0
  315. package/ui/.output/server/chunks/routes/api/run.post.mjs.map +1 -0
  316. package/ui/.output/server/chunks/routes/api/schedule/_id_.delete.mjs +28 -0
  317. package/ui/.output/server/chunks/routes/api/schedule/_id_.delete.mjs.map +1 -0
  318. package/ui/.output/server/chunks/routes/api/schedule/fix.post.mjs +21 -0
  319. package/ui/.output/server/chunks/routes/api/schedule/fix.post.mjs.map +1 -0
  320. package/ui/.output/server/chunks/routes/api/schedule.get.mjs +21 -0
  321. package/ui/.output/server/chunks/routes/api/schedule.get.mjs.map +1 -0
  322. package/ui/.output/server/chunks/routes/api/schedule.post.mjs +31 -0
  323. package/ui/.output/server/chunks/routes/api/schedule.post.mjs.map +1 -0
  324. package/ui/.output/server/chunks/routes/api/tasks/_id/comment.post.mjs +36 -0
  325. package/ui/.output/server/chunks/routes/api/tasks/_id/comment.post.mjs.map +1 -0
  326. package/ui/.output/server/chunks/routes/api/tasks/_id/execute.post.mjs +89 -0
  327. package/ui/.output/server/chunks/routes/api/tasks/_id/execute.post.mjs.map +1 -0
  328. package/ui/.output/server/chunks/routes/api/tasks/_id/status.post.mjs +35 -0
  329. package/ui/.output/server/chunks/routes/api/tasks/_id/status.post.mjs.map +1 -0
  330. package/ui/.output/server/chunks/routes/api/tasks/_id_.get.mjs +36 -0
  331. package/ui/.output/server/chunks/routes/api/tasks/_id_.get.mjs.map +1 -0
  332. package/ui/.output/server/chunks/routes/api/tasks/_id_.patch.mjs +82 -0
  333. package/ui/.output/server/chunks/routes/api/tasks/_id_.patch.mjs.map +1 -0
  334. package/ui/.output/server/chunks/routes/api/tasks/statuses.get.mjs +43 -0
  335. package/ui/.output/server/chunks/routes/api/tasks/statuses.get.mjs.map +1 -0
  336. package/ui/.output/server/chunks/routes/api/tasks.get.mjs +69 -0
  337. package/ui/.output/server/chunks/routes/api/tasks.get.mjs.map +1 -0
  338. package/ui/.output/server/chunks/routes/api/tasks.post.mjs +45 -0
  339. package/ui/.output/server/chunks/routes/api/tasks.post.mjs.map +1 -0
  340. package/ui/.output/server/chunks/routes/renderer.mjs +494 -0
  341. package/ui/.output/server/chunks/routes/renderer.mjs.map +1 -0
  342. package/ui/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
  343. package/ui/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
  344. package/ui/.output/server/index.mjs +17 -0
  345. package/ui/.output/server/index.mjs.map +1 -0
  346. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/decode-codepoint.js +77 -0
  347. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/decode.js +568 -0
  348. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/generated/decode-data-html.js +7 -0
  349. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/generated/decode-data-xml.js +7 -0
  350. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/internal/bin-trie-flags.js +21 -0
  351. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/internal/decode-shared.js +31 -0
  352. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/dist/commonjs/package.json +3 -0
  353. package/ui/.output/server/node_modules/.nitro/entities@7.0.1/package.json +120 -0
  354. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/decode-codepoint.js +46 -0
  355. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/decode.js +544 -0
  356. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/escape.js +132 -0
  357. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/generated/decode-data-html.js +5 -0
  358. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/generated/decode-data-xml.js +5 -0
  359. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/internal/bin-trie-flags.js +18 -0
  360. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/dist/internal/decode-shared.js +17 -0
  361. package/ui/.output/server/node_modules/.nitro/entities@8.0.0/package.json +83 -0
  362. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/index.js +29 -0
  363. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/cache.js +90 -0
  364. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/color.js +3534 -0
  365. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/common.js +17 -0
  366. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/constant.js +60 -0
  367. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/convert.js +245 -0
  368. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/css-calc.js +636 -0
  369. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/css-gradient.js +291 -0
  370. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/css-var.js +144 -0
  371. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/relative-color.js +451 -0
  372. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/resolve.js +210 -0
  373. package/ui/.output/server/node_modules/@asamuzakjp/css-color/dist/esm/js/util.js +274 -0
  374. package/ui/.output/server/node_modules/@asamuzakjp/css-color/package.json +89 -0
  375. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/package.json +79 -0
  376. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/index.js +393 -0
  377. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/js/constant.js +129 -0
  378. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/js/finder.js +3150 -0
  379. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/js/matcher.js +612 -0
  380. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/js/parser.js +441 -0
  381. package/ui/.output/server/node_modules/@asamuzakjp/dom-selector/src/js/utility.js +1109 -0
  382. package/ui/.output/server/node_modules/@asamuzakjp/generational-cache/package.json +65 -0
  383. package/ui/.output/server/node_modules/@asamuzakjp/generational-cache/src/index.js +125 -0
  384. package/ui/.output/server/node_modules/@asamuzakjp/nwsapi/package.json +43 -0
  385. package/ui/.output/server/node_modules/@asamuzakjp/nwsapi/src/nwsapi.js +1855 -0
  386. package/ui/.output/server/node_modules/@babel/parser/lib/index.js +14599 -0
  387. package/ui/.output/server/node_modules/@babel/parser/package.json +50 -0
  388. package/ui/.output/server/node_modules/@bramus/specificity/dist/index.cjs +8 -0
  389. package/ui/.output/server/node_modules/@bramus/specificity/package.json +92 -0
  390. package/ui/.output/server/node_modules/@csstools/color-helpers/dist/index.mjs +263 -0
  391. package/ui/.output/server/node_modules/@csstools/color-helpers/package.json +55 -0
  392. package/ui/.output/server/node_modules/@csstools/css-calc/dist/index.mjs +1 -0
  393. package/ui/.output/server/node_modules/@csstools/css-calc/package.json +59 -0
  394. package/ui/.output/server/node_modules/@csstools/css-color-parser/dist/index.mjs +1 -0
  395. package/ui/.output/server/node_modules/@csstools/css-color-parser/package.json +64 -0
  396. package/ui/.output/server/node_modules/@csstools/css-parser-algorithms/dist/index.mjs +1 -0
  397. package/ui/.output/server/node_modules/@csstools/css-parser-algorithms/package.json +58 -0
  398. package/ui/.output/server/node_modules/@csstools/css-syntax-patches-for-csstree/dist/index.json +777 -0
  399. package/ui/.output/server/node_modules/@csstools/css-syntax-patches-for-csstree/package.json +56 -0
  400. package/ui/.output/server/node_modules/@csstools/css-tokenizer/dist/index.mjs +1 -0
  401. package/ui/.output/server/node_modules/@csstools/css-tokenizer/package.json +55 -0
  402. package/ui/.output/server/node_modules/@exodus/bytes/assert.js +26 -0
  403. package/ui/.output/server/node_modules/@exodus/bytes/base64.js +181 -0
  404. package/ui/.output/server/node_modules/@exodus/bytes/encoding-lite.js +12 -0
  405. package/ui/.output/server/node_modules/@exodus/bytes/encoding.js +18 -0
  406. package/ui/.output/server/node_modules/@exodus/bytes/fallback/_utils.js +60 -0
  407. package/ui/.output/server/node_modules/@exodus/bytes/fallback/base64.js +191 -0
  408. package/ui/.output/server/node_modules/@exodus/bytes/fallback/encoding.api.js +38 -0
  409. package/ui/.output/server/node_modules/@exodus/bytes/fallback/encoding.js +369 -0
  410. package/ui/.output/server/node_modules/@exodus/bytes/fallback/encoding.labels.js +50 -0
  411. package/ui/.output/server/node_modules/@exodus/bytes/fallback/encoding.util.js +65 -0
  412. package/ui/.output/server/node_modules/@exodus/bytes/fallback/latin1.js +152 -0
  413. package/ui/.output/server/node_modules/@exodus/bytes/fallback/multi-byte.encodings.cjs +1 -0
  414. package/ui/.output/server/node_modules/@exodus/bytes/fallback/multi-byte.encodings.json +546 -0
  415. package/ui/.output/server/node_modules/@exodus/bytes/fallback/multi-byte.js +962 -0
  416. package/ui/.output/server/node_modules/@exodus/bytes/fallback/multi-byte.table.js +118 -0
  417. package/ui/.output/server/node_modules/@exodus/bytes/fallback/percent.js +31 -0
  418. package/ui/.output/server/node_modules/@exodus/bytes/fallback/platform.js +2 -0
  419. package/ui/.output/server/node_modules/@exodus/bytes/fallback/platform.native.js +122 -0
  420. package/ui/.output/server/node_modules/@exodus/bytes/fallback/single-byte.encodings.js +73 -0
  421. package/ui/.output/server/node_modules/@exodus/bytes/fallback/single-byte.js +110 -0
  422. package/ui/.output/server/node_modules/@exodus/bytes/fallback/utf16.js +266 -0
  423. package/ui/.output/server/node_modules/@exodus/bytes/fallback/utf8.auto.js +1 -0
  424. package/ui/.output/server/node_modules/@exodus/bytes/fallback/utf8.js +270 -0
  425. package/ui/.output/server/node_modules/@exodus/bytes/multi-byte.js +19 -0
  426. package/ui/.output/server/node_modules/@exodus/bytes/multi-byte.node.js +29 -0
  427. package/ui/.output/server/node_modules/@exodus/bytes/package.json +298 -0
  428. package/ui/.output/server/node_modules/@exodus/bytes/single-byte.js +135 -0
  429. package/ui/.output/server/node_modules/@exodus/bytes/single-byte.node.js +127 -0
  430. package/ui/.output/server/node_modules/@exodus/bytes/utf16.js +1 -0
  431. package/ui/.output/server/node_modules/@exodus/bytes/utf16.native.js +22 -0
  432. package/ui/.output/server/node_modules/@exodus/bytes/utf16.node.js +71 -0
  433. package/ui/.output/server/node_modules/@exodus/bytes/utf8.js +65 -0
  434. package/ui/.output/server/node_modules/@exodus/bytes/utf8.node.js +67 -0
  435. package/ui/.output/server/node_modules/@exodus/bytes/whatwg.js +80 -0
  436. package/ui/.output/server/node_modules/@iconify/utils/lib/colors/index.mjs +350 -0
  437. package/ui/.output/server/node_modules/@iconify/utils/lib/colors/keywords.mjs +188 -0
  438. package/ui/.output/server/node_modules/@iconify/utils/lib/css/common.mjs +90 -0
  439. package/ui/.output/server/node_modules/@iconify/utils/lib/css/format.mjs +38 -0
  440. package/ui/.output/server/node_modules/@iconify/utils/lib/css/icon.mjs +76 -0
  441. package/ui/.output/server/node_modules/@iconify/utils/lib/css/icons.mjs +168 -0
  442. package/ui/.output/server/node_modules/@iconify/utils/lib/customisations/bool.mjs +22 -0
  443. package/ui/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.mjs +14 -0
  444. package/ui/.output/server/node_modules/@iconify/utils/lib/customisations/flip.mjs +16 -0
  445. package/ui/.output/server/node_modules/@iconify/utils/lib/customisations/merge.mjs +22 -0
  446. package/ui/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.mjs +33 -0
  447. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.mjs +51 -0
  448. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/convert.mjs +84 -0
  449. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/data.mjs +16 -0
  450. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/format.mjs +44 -0
  451. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/parse.mjs +58 -0
  452. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.mjs +231 -0
  453. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.mjs +31 -0
  454. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.mjs +164 -0
  455. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.mjs +216 -0
  456. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.mjs +113 -0
  457. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.mjs +104 -0
  458. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.mjs +34 -0
  459. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.mjs +75 -0
  460. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.mjs +97 -0
  461. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.mjs +54 -0
  462. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.mjs +97 -0
  463. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.mjs +45 -0
  464. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.mjs +105 -0
  465. package/ui/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.mjs +54 -0
  466. package/ui/.output/server/node_modules/@iconify/utils/lib/icon/defaults.mjs +24 -0
  467. package/ui/.output/server/node_modules/@iconify/utils/lib/icon/merge.mjs +20 -0
  468. package/ui/.output/server/node_modules/@iconify/utils/lib/icon/name.mjs +53 -0
  469. package/ui/.output/server/node_modules/@iconify/utils/lib/icon/square.mjs +23 -0
  470. package/ui/.output/server/node_modules/@iconify/utils/lib/icon/transformations.mjs +16 -0
  471. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.mjs +182 -0
  472. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.mjs +22 -0
  473. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.mjs +28 -0
  474. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.mjs +46 -0
  475. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.mjs +66 -0
  476. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.mjs +51 -0
  477. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.mjs +23 -0
  478. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.mjs +62 -0
  479. package/ui/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.mjs +161 -0
  480. package/ui/.output/server/node_modules/@iconify/utils/lib/index.mjs +64 -0
  481. package/ui/.output/server/node_modules/@iconify/utils/lib/loader/custom.mjs +50 -0
  482. package/ui/.output/server/node_modules/@iconify/utils/lib/loader/loader.mjs +59 -0
  483. package/ui/.output/server/node_modules/@iconify/utils/lib/loader/modern.mjs +80 -0
  484. package/ui/.output/server/node_modules/@iconify/utils/lib/loader/utils.mjs +92 -0
  485. package/ui/.output/server/node_modules/@iconify/utils/lib/misc/objects.mjs +30 -0
  486. package/ui/.output/server/node_modules/@iconify/utils/lib/misc/strings.mjs +17 -0
  487. package/ui/.output/server/node_modules/@iconify/utils/lib/misc/title.mjs +5 -0
  488. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/build.mjs +119 -0
  489. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/defs.mjs +30 -0
  490. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.mjs +20 -0
  491. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/html.mjs +9 -0
  492. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/id.mjs +28 -0
  493. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.mjs +19 -0
  494. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/parse.mjs +83 -0
  495. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/pretty.mjs +70 -0
  496. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/size.mjs +40 -0
  497. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/trim.mjs +5 -0
  498. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/url.mjs +11 -0
  499. package/ui/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.mjs +8 -0
  500. package/ui/.output/server/node_modules/@iconify/utils/package.json +447 -0
  501. package/ui/.output/server/node_modules/@iconify/vue/dist/iconify.mjs +1896 -0
  502. package/ui/.output/server/node_modules/@iconify/vue/package.json +62 -0
  503. package/ui/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6755 -0
  504. package/ui/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
  505. package/ui/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
  506. package/ui/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
  507. package/ui/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
  508. package/ui/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
  509. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/api.js +2 -0
  510. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/app.js +2 -0
  511. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/component.js +2 -0
  512. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/context.js +2 -0
  513. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/hooks.js +2 -0
  514. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/index.js +22 -0
  515. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/api/util.js +2 -0
  516. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/const.js +5 -0
  517. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/env.js +17 -0
  518. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/index.js +45 -0
  519. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/plugin.js +2 -0
  520. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/proxy.js +111 -0
  521. package/ui/.output/server/node_modules/@vue/devtools-api/lib/cjs/time.js +28 -0
  522. package/ui/.output/server/node_modules/@vue/devtools-api/package.json +37 -0
  523. package/ui/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1898 -0
  524. package/ui/.output/server/node_modules/@vue/reactivity/package.json +55 -0
  525. package/ui/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6875 -0
  526. package/ui/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
  527. package/ui/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1822 -0
  528. package/ui/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
  529. package/ui/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +883 -0
  530. package/ui/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
  531. package/ui/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
  532. package/ui/.output/server/node_modules/@vue/shared/package.json +47 -0
  533. package/ui/.output/server/node_modules/@vueuse/core/index.mjs +8299 -0
  534. package/ui/.output/server/node_modules/@vueuse/core/package.json +51 -0
  535. package/ui/.output/server/node_modules/@vueuse/shared/index.mjs +1641 -0
  536. package/ui/.output/server/node_modules/@vueuse/shared/package.json +44 -0
  537. package/ui/.output/server/node_modules/bidi-js/dist/bidi.js +1010 -0
  538. package/ui/.output/server/node_modules/bidi-js/package.json +39 -0
  539. package/ui/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
  540. package/ui/.output/server/node_modules/consola/dist/core.mjs +512 -0
  541. package/ui/.output/server/node_modules/consola/dist/index.mjs +651 -0
  542. package/ui/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
  543. package/ui/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
  544. package/ui/.output/server/node_modules/consola/package.json +136 -0
  545. package/ui/.output/server/node_modules/css-tree/cjs/convertor/create.cjs +32 -0
  546. package/ui/.output/server/node_modules/css-tree/cjs/data-patch.cjs +7 -0
  547. package/ui/.output/server/node_modules/css-tree/cjs/data.cjs +120 -0
  548. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/SyntaxError.cjs +16 -0
  549. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/generate.cjs +139 -0
  550. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/index.cjs +13 -0
  551. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/parse.cjs +596 -0
  552. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/scanner.cjs +113 -0
  553. package/ui/.output/server/node_modules/css-tree/cjs/definition-syntax/walk.cjs +57 -0
  554. package/ui/.output/server/node_modules/css-tree/cjs/generator/create.cjs +107 -0
  555. package/ui/.output/server/node_modules/css-tree/cjs/generator/sourceMap.cjs +96 -0
  556. package/ui/.output/server/node_modules/css-tree/cjs/generator/token-before.cjs +169 -0
  557. package/ui/.output/server/node_modules/css-tree/cjs/index.cjs +65 -0
  558. package/ui/.output/server/node_modules/css-tree/cjs/lexer/Lexer.cjs +517 -0
  559. package/ui/.output/server/node_modules/css-tree/cjs/lexer/error.cjs +128 -0
  560. package/ui/.output/server/node_modules/css-tree/cjs/lexer/generic-an-plus-b.cjs +235 -0
  561. package/ui/.output/server/node_modules/css-tree/cjs/lexer/generic-const.cjs +12 -0
  562. package/ui/.output/server/node_modules/css-tree/cjs/lexer/generic-urange.cjs +149 -0
  563. package/ui/.output/server/node_modules/css-tree/cjs/lexer/generic.cjs +717 -0
  564. package/ui/.output/server/node_modules/css-tree/cjs/lexer/match-graph.cjs +530 -0
  565. package/ui/.output/server/node_modules/css-tree/cjs/lexer/match.cjs +632 -0
  566. package/ui/.output/server/node_modules/css-tree/cjs/lexer/prepare-tokens.cjs +54 -0
  567. package/ui/.output/server/node_modules/css-tree/cjs/lexer/search.cjs +65 -0
  568. package/ui/.output/server/node_modules/css-tree/cjs/lexer/structure.cjs +173 -0
  569. package/ui/.output/server/node_modules/css-tree/cjs/lexer/trace.cjs +73 -0
  570. package/ui/.output/server/node_modules/css-tree/cjs/lexer/units.cjs +38 -0
  571. package/ui/.output/server/node_modules/css-tree/cjs/parser/SyntaxError.cjs +74 -0
  572. package/ui/.output/server/node_modules/css-tree/cjs/parser/create.cjs +402 -0
  573. package/ui/.output/server/node_modules/css-tree/cjs/parser/sequence.cjs +47 -0
  574. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/container.cjs +32 -0
  575. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/font-face.cjs +12 -0
  576. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/import.cjs +101 -0
  577. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/index.cjs +27 -0
  578. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/layer.cjs +16 -0
  579. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/media.cjs +16 -0
  580. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/nest.cjs +16 -0
  581. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/page.cjs +16 -0
  582. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/scope.cjs +16 -0
  583. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/starting-style.cjs +12 -0
  584. package/ui/.output/server/node_modules/css-tree/cjs/syntax/atrule/supports.cjs +16 -0
  585. package/ui/.output/server/node_modules/css-tree/cjs/syntax/config/lexer.cjs +14 -0
  586. package/ui/.output/server/node_modules/css-tree/cjs/syntax/config/mix.cjs +126 -0
  587. package/ui/.output/server/node_modules/css-tree/cjs/syntax/config/parser.cjs +49 -0
  588. package/ui/.output/server/node_modules/css-tree/cjs/syntax/config/walker.cjs +9 -0
  589. package/ui/.output/server/node_modules/css-tree/cjs/syntax/create.cjs +58 -0
  590. package/ui/.output/server/node_modules/css-tree/cjs/syntax/function/expression.cjs +11 -0
  591. package/ui/.output/server/node_modules/css-tree/cjs/syntax/function/var.cjs +43 -0
  592. package/ui/.output/server/node_modules/css-tree/cjs/syntax/index.cjs +14 -0
  593. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/AnPlusB.cjs +293 -0
  594. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Atrule.cjs +103 -0
  595. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/AtrulePrelude.cjs +52 -0
  596. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/AttributeSelector.cjs +148 -0
  597. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Block.cjs +96 -0
  598. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Brackets.cjs +38 -0
  599. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/CDC.cjs +26 -0
  600. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/CDO.cjs +26 -0
  601. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/ClassSelector.cjs +31 -0
  602. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Combinator.cjs +61 -0
  603. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Comment.cjs +40 -0
  604. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Condition.cjs +120 -0
  605. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Declaration.cjs +166 -0
  606. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/DeclarationList.cjs +62 -0
  607. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Dimension.cjs +30 -0
  608. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Feature.cjs +101 -0
  609. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/FeatureFunction.cjs +67 -0
  610. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/FeatureRange.cjs +133 -0
  611. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Function.cjs +45 -0
  612. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/GeneralEnclosed.cjs +68 -0
  613. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Hash.cjs +30 -0
  614. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/IdSelector.cjs +33 -0
  615. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Identifier.cjs +25 -0
  616. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Layer.cjs +35 -0
  617. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/LayerList.cjs +43 -0
  618. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/MediaQuery.cjs +100 -0
  619. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/MediaQueryList.cjs +41 -0
  620. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/NestingSelector.cjs +29 -0
  621. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Nth.cjs +54 -0
  622. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Number.cjs +25 -0
  623. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Operator.cjs +28 -0
  624. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Parentheses.cjs +38 -0
  625. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Percentage.cjs +25 -0
  626. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/PseudoClassSelector.cjs +67 -0
  627. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/PseudoElementSelector.cjs +69 -0
  628. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Ratio.cjs +71 -0
  629. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Raw.cjs +48 -0
  630. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Rule.cjs +58 -0
  631. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Scope.cjs +69 -0
  632. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Selector.cjs +38 -0
  633. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/SelectorList.cjs +43 -0
  634. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/String.cjs +26 -0
  635. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/StyleSheet.cjs +83 -0
  636. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/SupportsDeclaration.cjs +38 -0
  637. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/TypeSelector.cjs +59 -0
  638. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/UnicodeRange.cjs +158 -0
  639. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Url.cjs +54 -0
  640. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/Value.cjs +26 -0
  641. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/WhiteSpace.cjs +34 -0
  642. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/index-parse.cjs +103 -0
  643. package/ui/.output/server/node_modules/css-tree/cjs/syntax/node/index.cjs +103 -0
  644. package/ui/.output/server/node_modules/css-tree/cjs/syntax/pseudo/index.cjs +60 -0
  645. package/ui/.output/server/node_modules/css-tree/cjs/syntax/pseudo/lang.cjs +37 -0
  646. package/ui/.output/server/node_modules/css-tree/cjs/syntax/scope/atrulePrelude.cjs +9 -0
  647. package/ui/.output/server/node_modules/css-tree/cjs/syntax/scope/default.cjs +76 -0
  648. package/ui/.output/server/node_modules/css-tree/cjs/syntax/scope/index.cjs +11 -0
  649. package/ui/.output/server/node_modules/css-tree/cjs/syntax/scope/selector.cjs +88 -0
  650. package/ui/.output/server/node_modules/css-tree/cjs/syntax/scope/value.cjs +29 -0
  651. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/OffsetToLocation.cjs +91 -0
  652. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/TokenStream.cjs +358 -0
  653. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/adopt-buffer.cjs +13 -0
  654. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/char-code-definitions.cjs +236 -0
  655. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/index.cjs +554 -0
  656. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/names.cjs +32 -0
  657. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/types.cjs +57 -0
  658. package/ui/.output/server/node_modules/css-tree/cjs/tokenizer/utils.cjs +261 -0
  659. package/ui/.output/server/node_modules/css-tree/cjs/utils/List.cjs +473 -0
  660. package/ui/.output/server/node_modules/css-tree/cjs/utils/clone.cjs +25 -0
  661. package/ui/.output/server/node_modules/css-tree/cjs/utils/create-custom-error.cjs +18 -0
  662. package/ui/.output/server/node_modules/css-tree/cjs/utils/ident.cjs +102 -0
  663. package/ui/.output/server/node_modules/css-tree/cjs/utils/names.cjs +113 -0
  664. package/ui/.output/server/node_modules/css-tree/cjs/utils/string.cjs +99 -0
  665. package/ui/.output/server/node_modules/css-tree/cjs/utils/url.cjs +108 -0
  666. package/ui/.output/server/node_modules/css-tree/cjs/version.cjs +5 -0
  667. package/ui/.output/server/node_modules/css-tree/cjs/walker/create.cjs +291 -0
  668. package/ui/.output/server/node_modules/css-tree/data/patch.json +853 -0
  669. package/ui/.output/server/node_modules/css-tree/lib/convertor/create.js +28 -0
  670. package/ui/.output/server/node_modules/css-tree/lib/data-patch.js +6 -0
  671. package/ui/.output/server/node_modules/css-tree/lib/data.js +118 -0
  672. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/SyntaxError.js +12 -0
  673. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/generate.js +135 -0
  674. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/index.js +4 -0
  675. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/parse.js +592 -0
  676. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/scanner.js +109 -0
  677. package/ui/.output/server/node_modules/css-tree/lib/definition-syntax/walk.js +53 -0
  678. package/ui/.output/server/node_modules/css-tree/lib/generator/create.js +102 -0
  679. package/ui/.output/server/node_modules/css-tree/lib/generator/sourceMap.js +92 -0
  680. package/ui/.output/server/node_modules/css-tree/lib/generator/token-before.js +180 -0
  681. package/ui/.output/server/node_modules/css-tree/lib/index.js +30 -0
  682. package/ui/.output/server/node_modules/css-tree/lib/lexer/Lexer.js +511 -0
  683. package/ui/.output/server/node_modules/css-tree/lib/lexer/error.js +123 -0
  684. package/ui/.output/server/node_modules/css-tree/lib/lexer/generic-an-plus-b.js +238 -0
  685. package/ui/.output/server/node_modules/css-tree/lib/lexer/generic-const.js +8 -0
  686. package/ui/.output/server/node_modules/css-tree/lib/lexer/generic-urange.js +151 -0
  687. package/ui/.output/server/node_modules/css-tree/lib/lexer/generic.js +738 -0
  688. package/ui/.output/server/node_modules/css-tree/lib/lexer/match-graph.js +527 -0
  689. package/ui/.output/server/node_modules/css-tree/lib/lexer/match.js +630 -0
  690. package/ui/.output/server/node_modules/css-tree/lib/lexer/prepare-tokens.js +50 -0
  691. package/ui/.output/server/node_modules/css-tree/lib/lexer/search.js +61 -0
  692. package/ui/.output/server/node_modules/css-tree/lib/lexer/structure.js +169 -0
  693. package/ui/.output/server/node_modules/css-tree/lib/lexer/trace.js +66 -0
  694. package/ui/.output/server/node_modules/css-tree/lib/lexer/units.js +27 -0
  695. package/ui/.output/server/node_modules/css-tree/lib/parser/SyntaxError.js +70 -0
  696. package/ui/.output/server/node_modules/css-tree/lib/parser/create.js +412 -0
  697. package/ui/.output/server/node_modules/css-tree/lib/parser/sequence.js +43 -0
  698. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/container.js +28 -0
  699. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/font-face.js +8 -0
  700. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/import.js +104 -0
  701. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/index.js +23 -0
  702. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/layer.js +12 -0
  703. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/media.js +12 -0
  704. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/nest.js +12 -0
  705. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/page.js +12 -0
  706. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/scope.js +12 -0
  707. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/starting-style.js +8 -0
  708. package/ui/.output/server/node_modules/css-tree/lib/syntax/atrule/supports.js +12 -0
  709. package/ui/.output/server/node_modules/css-tree/lib/syntax/config/lexer.js +10 -0
  710. package/ui/.output/server/node_modules/css-tree/lib/syntax/config/mix.js +122 -0
  711. package/ui/.output/server/node_modules/css-tree/lib/syntax/config/parser.js +45 -0
  712. package/ui/.output/server/node_modules/css-tree/lib/syntax/config/walker.js +5 -0
  713. package/ui/.output/server/node_modules/css-tree/lib/syntax/create.js +55 -0
  714. package/ui/.output/server/node_modules/css-tree/lib/syntax/function/expression.js +7 -0
  715. package/ui/.output/server/node_modules/css-tree/lib/syntax/function/var.js +39 -0
  716. package/ui/.output/server/node_modules/css-tree/lib/syntax/index.js +10 -0
  717. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/AnPlusB.js +292 -0
  718. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Atrule.js +100 -0
  719. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/AtrulePrelude.js +47 -0
  720. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/AttributeSelector.js +147 -0
  721. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Block.js +95 -0
  722. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Brackets.js +35 -0
  723. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/CDC.js +19 -0
  724. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/CDO.js +19 -0
  725. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/ClassSelector.js +24 -0
  726. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Combinator.js +54 -0
  727. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Comment.js +33 -0
  728. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Condition.js +123 -0
  729. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Declaration.js +165 -0
  730. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/DeclarationList.js +62 -0
  731. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Dimension.js +23 -0
  732. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Feature.js +103 -0
  733. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/FeatureFunction.js +63 -0
  734. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/FeatureRange.js +133 -0
  735. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Function.js +41 -0
  736. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/GeneralEnclosed.js +66 -0
  737. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Hash.js +23 -0
  738. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/IdSelector.js +26 -0
  739. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Identifier.js +18 -0
  740. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Layer.js +28 -0
  741. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/LayerList.js +36 -0
  742. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/MediaQuery.js +102 -0
  743. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/MediaQueryList.js +34 -0
  744. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/NestingSelector.js +22 -0
  745. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Nth.js +47 -0
  746. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Number.js +18 -0
  747. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Operator.js +21 -0
  748. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Parentheses.js +34 -0
  749. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Percentage.js +18 -0
  750. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/PseudoClassSelector.js +65 -0
  751. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/PseudoElementSelector.js +66 -0
  752. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Ratio.js +68 -0
  753. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Raw.js +41 -0
  754. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Rule.js +51 -0
  755. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Scope.js +66 -0
  756. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Selector.js +31 -0
  757. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/SelectorList.js +35 -0
  758. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/String.js +19 -0
  759. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/StyleSheet.js +82 -0
  760. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/SupportsDeclaration.js +34 -0
  761. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/TypeSelector.js +52 -0
  762. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/UnicodeRange.js +156 -0
  763. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Url.js +52 -0
  764. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/Value.js +19 -0
  765. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/WhiteSpace.js +27 -0
  766. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/index-parse.js +49 -0
  767. package/ui/.output/server/node_modules/css-tree/lib/syntax/node/index.js +49 -0
  768. package/ui/.output/server/node_modules/css-tree/lib/syntax/pseudo/index.js +56 -0
  769. package/ui/.output/server/node_modules/css-tree/lib/syntax/pseudo/lang.js +33 -0
  770. package/ui/.output/server/node_modules/css-tree/lib/syntax/scope/atrulePrelude.js +5 -0
  771. package/ui/.output/server/node_modules/css-tree/lib/syntax/scope/default.js +85 -0
  772. package/ui/.output/server/node_modules/css-tree/lib/syntax/scope/index.js +3 -0
  773. package/ui/.output/server/node_modules/css-tree/lib/syntax/scope/selector.js +94 -0
  774. package/ui/.output/server/node_modules/css-tree/lib/syntax/scope/value.js +25 -0
  775. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/OffsetToLocation.js +87 -0
  776. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/TokenStream.js +366 -0
  777. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/adopt-buffer.js +9 -0
  778. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/char-code-definitions.js +212 -0
  779. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/index.js +513 -0
  780. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/names.js +28 -0
  781. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/types.js +28 -0
  782. package/ui/.output/server/node_modules/css-tree/lib/tokenizer/utils.js +254 -0
  783. package/ui/.output/server/node_modules/css-tree/lib/utils/List.js +469 -0
  784. package/ui/.output/server/node_modules/css-tree/lib/utils/clone.js +21 -0
  785. package/ui/.output/server/node_modules/css-tree/lib/utils/create-custom-error.js +14 -0
  786. package/ui/.output/server/node_modules/css-tree/lib/utils/ident.js +101 -0
  787. package/ui/.output/server/node_modules/css-tree/lib/utils/names.js +106 -0
  788. package/ui/.output/server/node_modules/css-tree/lib/utils/string.js +99 -0
  789. package/ui/.output/server/node_modules/css-tree/lib/utils/url.js +108 -0
  790. package/ui/.output/server/node_modules/css-tree/lib/version.js +5 -0
  791. package/ui/.output/server/node_modules/css-tree/lib/walker/create.js +287 -0
  792. package/ui/.output/server/node_modules/css-tree/package.json +126 -0
  793. package/ui/.output/server/node_modules/data-urls/lib/parser.js +69 -0
  794. package/ui/.output/server/node_modules/data-urls/lib/utils.js +20 -0
  795. package/ui/.output/server/node_modules/data-urls/package.json +51 -0
  796. package/ui/.output/server/node_modules/debug/package.json +64 -0
  797. package/ui/.output/server/node_modules/debug/src/browser.js +272 -0
  798. package/ui/.output/server/node_modules/debug/src/common.js +292 -0
  799. package/ui/.output/server/node_modules/debug/src/index.js +10 -0
  800. package/ui/.output/server/node_modules/debug/src/node.js +263 -0
  801. package/ui/.output/server/node_modules/decimal.js/decimal.js +4951 -0
  802. package/ui/.output/server/node_modules/decimal.js/package.json +55 -0
  803. package/ui/.output/server/node_modules/devalue/index.js +4 -0
  804. package/ui/.output/server/node_modules/devalue/package.json +40 -0
  805. package/ui/.output/server/node_modules/devalue/src/base64.js +60 -0
  806. package/ui/.output/server/node_modules/devalue/src/constants.js +12 -0
  807. package/ui/.output/server/node_modules/devalue/src/parse.js +283 -0
  808. package/ui/.output/server/node_modules/devalue/src/stringify.js +401 -0
  809. package/ui/.output/server/node_modules/devalue/src/uneval.js +552 -0
  810. package/ui/.output/server/node_modules/devalue/src/utils.js +160 -0
  811. package/ui/.output/server/node_modules/dompurify/dist/purify.es.mjs +1747 -0
  812. package/ui/.output/server/node_modules/dompurify/package.json +169 -0
  813. package/ui/.output/server/node_modules/dotenv/lib/main.js +386 -0
  814. package/ui/.output/server/node_modules/dotenv/package.json +62 -0
  815. package/ui/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
  816. package/ui/.output/server/node_modules/estree-walker/package.json +37 -0
  817. package/ui/.output/server/node_modules/has-flag/index.js +8 -0
  818. package/ui/.output/server/node_modules/has-flag/package.json +46 -0
  819. package/ui/.output/server/node_modules/hookable/dist/index.mjs +257 -0
  820. package/ui/.output/server/node_modules/hookable/package.json +53 -0
  821. package/ui/.output/server/node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js +299 -0
  822. package/ui/.output/server/node_modules/html-encoding-sniffer/package.json +34 -0
  823. package/ui/.output/server/node_modules/is-potential-custom-element-name/index.js +9 -0
  824. package/ui/.output/server/node_modules/is-potential-custom-element-name/package.json +35 -0
  825. package/ui/.output/server/node_modules/isomorphic-dompurify/dist/index.mjs +53 -0
  826. package/ui/.output/server/node_modules/isomorphic-dompurify/package.json +84 -0
  827. package/ui/.output/server/node_modules/jsdom/lib/api.js +373 -0
  828. package/ui/.output/server/node_modules/jsdom/lib/generated/css-property-definitions.js +16021 -0
  829. package/ui/.output/server/node_modules/jsdom/lib/generated/css-property-descriptors.js +1686 -0
  830. package/ui/.output/server/node_modules/jsdom/lib/generated/css-property-metadata.js +7698 -0
  831. package/ui/.output/server/node_modules/jsdom/lib/generated/event-sets.js +115 -0
  832. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/AbortController.js +143 -0
  833. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/AbortSignal.js +249 -0
  834. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/AbstractRange.js +171 -0
  835. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/AddEventListenerOptions.js +53 -0
  836. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/AssignedNodesOptions.js +28 -0
  837. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Attr.js +219 -0
  838. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BarProp.js +117 -0
  839. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BeforeUnloadEvent.js +139 -0
  840. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BinaryType.js +12 -0
  841. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Blob.js +253 -0
  842. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BlobCallback.js +30 -0
  843. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BlobEvent.js +157 -0
  844. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BlobEventInit.js +43 -0
  845. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/BlobPropertyBag.js +42 -0
  846. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CDATASection.js +109 -0
  847. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSConditionRule.js +122 -0
  848. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSContainerRule.js +135 -0
  849. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSCounterStyleRule.js +439 -0
  850. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSFontFaceRule.js +140 -0
  851. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSGroupingRule.js +188 -0
  852. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSImportRule.js +194 -0
  853. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSKeyframeRule.js +170 -0
  854. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSKeyframesRule.js +404 -0
  855. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSLayerBlockRule.js +122 -0
  856. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSLayerStatementRule.js +122 -0
  857. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSMediaRule.js +153 -0
  858. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSNamespaceRule.js +135 -0
  859. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSNestedDeclarations.js +140 -0
  860. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSPageRule.js +170 -0
  861. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSRule.js +197 -0
  862. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSRuleList.js +300 -0
  863. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSScopeRule.js +133 -0
  864. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSStyleDeclaration.js +497 -0
  865. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSStyleProperties.js +66822 -0
  866. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSStyleRule.js +170 -0
  867. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSStyleSheet.js +351 -0
  868. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSStyleSheetInit.js +66 -0
  869. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CSSSupportsRule.js +122 -0
  870. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CharacterData.js +455 -0
  871. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CloseEvent.js +168 -0
  872. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CloseEventInit.js +65 -0
  873. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Comment.js +120 -0
  874. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CompositionEvent.js +219 -0
  875. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CompositionEventInit.js +32 -0
  876. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Crypto.js +148 -0
  877. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CustomElementConstructor.js +34 -0
  878. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CustomElementRegistry.js +269 -0
  879. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CustomEvent.js +206 -0
  880. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/CustomEventInit.js +32 -0
  881. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMException.js +222 -0
  882. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMImplementation.js +237 -0
  883. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMParser.js +140 -0
  884. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMRect.js +276 -0
  885. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMRectInit.js +76 -0
  886. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMRectReadOnly.js +285 -0
  887. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMStringMap.js +299 -0
  888. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DOMTokenList.js +539 -0
  889. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEvent.js +183 -0
  890. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEventAcceleration.js +145 -0
  891. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEventAccelerationInit.js +61 -0
  892. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEventInit.js +70 -0
  893. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEventRotationRate.js +145 -0
  894. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceMotionEventRotationRateInit.js +61 -0
  895. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceOrientationEvent.js +183 -0
  896. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DeviceOrientationEventInit.js +80 -0
  897. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Document.js +4511 -0
  898. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DocumentFragment.js +336 -0
  899. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/DocumentType.js +254 -0
  900. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Element.js +3720 -0
  901. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ElementCreationOptions.js +26 -0
  902. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ElementDefinitionOptions.js +29 -0
  903. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ElementInternals.js +2152 -0
  904. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EndingType.js +12 -0
  905. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ErrorEvent.js +192 -0
  906. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ErrorEventInit.js +92 -0
  907. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Event.js +430 -0
  908. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventHandlerNonNull.js +36 -0
  909. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventInit.js +58 -0
  910. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventListener.js +35 -0
  911. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventListenerOptions.js +28 -0
  912. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventModifierInit.js +221 -0
  913. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/EventTarget.js +259 -0
  914. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/External.js +130 -0
  915. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/File.js +185 -0
  916. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FileList.js +298 -0
  917. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FilePropertyBag.js +33 -0
  918. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FileReader.js +468 -0
  919. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FocusEvent.js +144 -0
  920. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FocusEventInit.js +36 -0
  921. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/FormData.js +468 -0
  922. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Function.js +42 -0
  923. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/GetRootNodeOptions.js +31 -0
  924. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLAnchorElement.js +1026 -0
  925. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLAreaElement.js +825 -0
  926. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLAudioElement.js +111 -0
  927. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLBRElement.js +156 -0
  928. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLBaseElement.js +196 -0
  929. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLBodyElement.js +880 -0
  930. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLButtonElement.js +525 -0
  931. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLCanvasElement.js +325 -0
  932. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLCollection.js +352 -0
  933. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDListElement.js +159 -0
  934. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDataElement.js +156 -0
  935. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDataListElement.js +126 -0
  936. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDetailsElement.js +159 -0
  937. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDialogElement.js +159 -0
  938. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDirectoryElement.js +159 -0
  939. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLDivElement.js +156 -0
  940. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLElement.js +3492 -0
  941. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLEmbedElement.js +381 -0
  942. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFieldSetElement.js +332 -0
  943. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFontElement.js +239 -0
  944. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFormControlsCollection.js +318 -0
  945. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFormElement.js +661 -0
  946. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFrameElement.js +513 -0
  947. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLFrameSetElement.js +711 -0
  948. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLHRElement.js +323 -0
  949. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLHeadElement.js +111 -0
  950. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLHeadingElement.js +156 -0
  951. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLHtmlElement.js +156 -0
  952. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLIFrameElement.js +689 -0
  953. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLImageElement.js +906 -0
  954. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLInputElement.js +1931 -0
  955. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLLIElement.js +204 -0
  956. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLLabelElement.js +182 -0
  957. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLLegendElement.js +169 -0
  958. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLLinkElement.js +555 -0
  959. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMapElement.js +171 -0
  960. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMarqueeElement.js +558 -0
  961. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMediaElement.js +900 -0
  962. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMenuElement.js +159 -0
  963. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMetaElement.js +279 -0
  964. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLMeterElement.js +368 -0
  965. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLModElement.js +217 -0
  966. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLOListElement.js +292 -0
  967. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLObjectElement.js +945 -0
  968. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLOptGroupElement.js +200 -0
  969. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLOptionElement.js +379 -0
  970. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLOptionsCollection.js +513 -0
  971. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLOutputElement.js +395 -0
  972. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLParagraphElement.js +156 -0
  973. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLParamElement.js +279 -0
  974. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLPictureElement.js +111 -0
  975. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLPreElement.js +163 -0
  976. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLProgressElement.js +232 -0
  977. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLQuoteElement.js +176 -0
  978. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLScriptElement.js +472 -0
  979. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLSelectElement.js +993 -0
  980. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLSlotElement.js +195 -0
  981. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLSourceElement.js +340 -0
  982. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLSpanElement.js +111 -0
  983. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLStyleElement.js +240 -0
  984. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableCaptionElement.js +156 -0
  985. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableCellElement.js +733 -0
  986. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableColElement.js +376 -0
  987. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableElement.js +802 -0
  988. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableRowElement.js +417 -0
  989. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTableSectionElement.js +349 -0
  990. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTemplateElement.js +124 -0
  991. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTextAreaElement.js +1210 -0
  992. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTimeElement.js +156 -0
  993. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTitleElement.js +155 -0
  994. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLTrackElement.js +366 -0
  995. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLUListElement.js +200 -0
  996. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLUnknownElement.js +109 -0
  997. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HTMLVideoElement.js +344 -0
  998. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HashChangeEvent.js +157 -0
  999. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/HashChangeEventInit.js +50 -0
  1000. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Headers.js +418 -0
  1001. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/History.js +266 -0
  1002. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/InputEvent.js +168 -0
  1003. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/InputEventInit.js +68 -0
  1004. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/KeyboardEvent.js +445 -0
  1005. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/KeyboardEventInit.js +116 -0
  1006. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Location.js +404 -0
  1007. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MediaList.js +391 -0
  1008. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MessageEvent.js +317 -0
  1009. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MessageEventInit.js +100 -0
  1010. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MimeType.js +156 -0
  1011. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MimeTypeArray.js +326 -0
  1012. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MouseEvent.js +595 -0
  1013. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MouseEventInit.js +189 -0
  1014. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MutationCallback.js +34 -0
  1015. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MutationObserver.js +178 -0
  1016. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MutationObserverInit.js +121 -0
  1017. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/MutationRecord.js +229 -0
  1018. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/NamedNodeMap.js +529 -0
  1019. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Navigator.js +326 -0
  1020. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Node.js +765 -0
  1021. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/NodeFilter.js +75 -0
  1022. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/NodeIterator.js +207 -0
  1023. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/NodeList.js +302 -0
  1024. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/OnBeforeUnloadEventHandlerNonNull.js +42 -0
  1025. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/OnErrorEventHandlerNonNull.js +56 -0
  1026. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PageTransitionEvent.js +144 -0
  1027. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PageTransitionEventInit.js +35 -0
  1028. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Performance.js +142 -0
  1029. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Plugin.js +359 -0
  1030. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PluginArray.js +336 -0
  1031. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PointerEvent.js +324 -0
  1032. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PointerEventInit.js +241 -0
  1033. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PopStateEvent.js +144 -0
  1034. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PopStateEventInit.js +32 -0
  1035. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ProcessingInstruction.js +122 -0
  1036. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ProgressEvent.js +170 -0
  1037. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ProgressEventInit.js +65 -0
  1038. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PromiseRejectionEvent.js +157 -0
  1039. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/PromiseRejectionEventInit.js +42 -0
  1040. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/RadioNodeList.js +296 -0
  1041. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Range.js +643 -0
  1042. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGAnimatedPreserveAspectRatio.js +136 -0
  1043. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGAnimatedRect.js +136 -0
  1044. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGAnimatedString.js +149 -0
  1045. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGDefsElement.js +109 -0
  1046. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGDescElement.js +109 -0
  1047. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGElement.js +3157 -0
  1048. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGGElement.js +109 -0
  1049. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGGraphicsElement.js +139 -0
  1050. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGMetadataElement.js +109 -0
  1051. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGNumber.js +132 -0
  1052. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGPreserveAspectRatio.js +196 -0
  1053. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGRect.js +210 -0
  1054. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGSVGElement.js +786 -0
  1055. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGStringList.js +511 -0
  1056. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGSwitchElement.js +109 -0
  1057. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGSymbolElement.js +146 -0
  1058. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SVGTitleElement.js +109 -0
  1059. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Screen.js +180 -0
  1060. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Selection.js +571 -0
  1061. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SelectionMode.js +12 -0
  1062. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ShadowRoot.js +189 -0
  1063. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ShadowRootInit.js +30 -0
  1064. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ShadowRootMode.js +12 -0
  1065. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StaticRange.js +123 -0
  1066. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StaticRangeInit.js +72 -0
  1067. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Storage.js +397 -0
  1068. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StorageEvent.js +318 -0
  1069. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StorageEventInit.js +99 -0
  1070. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StyleSheet.js +222 -0
  1071. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/StyleSheetList.js +300 -0
  1072. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SubmitEvent.js +144 -0
  1073. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SubmitEventInit.js +36 -0
  1074. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/SupportedType.js +18 -0
  1075. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/Text.js +170 -0
  1076. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TextDecodeOptions.js +28 -0
  1077. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TextDecoder.js +211 -0
  1078. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TextDecoderOptions.js +43 -0
  1079. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TextEncoder.js +176 -0
  1080. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TextTrackKind.js +12 -0
  1081. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TouchEvent.js +222 -0
  1082. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TouchEventInit.js +89 -0
  1083. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TransitionEvent.js +170 -0
  1084. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TransitionEventInit.js +65 -0
  1085. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/TreeWalker.js +255 -0
  1086. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/UIEvent.js +235 -0
  1087. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/UIEventInit.js +62 -0
  1088. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/ValidityState.js +249 -0
  1089. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/WebSocket.js +480 -0
  1090. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/WheelEvent.js +191 -0
  1091. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/WheelEventInit.js +71 -0
  1092. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLDocument.js +109 -0
  1093. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLHttpRequest.js +663 -0
  1094. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLHttpRequestEventTarget.js +334 -0
  1095. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLHttpRequestResponseType.js +14 -0
  1096. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLHttpRequestUpload.js +109 -0
  1097. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/XMLSerializer.js +132 -0
  1098. package/ui/.output/server/node_modules/jsdom/lib/generated/idl/utils.js +252 -0
  1099. package/ui/.output/server/node_modules/jsdom/lib/generated/js-globals.json +332 -0
  1100. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/Window.js +952 -0
  1101. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.css +415 -0
  1102. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +20 -0
  1103. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/parser/html.js +208 -0
  1104. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/parser/index.js +37 -0
  1105. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/parser/xml.js +202 -0
  1106. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/async-resource-queue.js +114 -0
  1107. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/decompress-interceptor.js +184 -0
  1108. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/jsdom-dispatcher.js +769 -0
  1109. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js +116 -0
  1110. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/request-interceptor.js +171 -0
  1111. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/request-manager.js +33 -0
  1112. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/resource-queue.js +142 -0
  1113. package/ui/.output/server/node_modules/jsdom/lib/jsdom/browser/resources/stream-handler.js +89 -0
  1114. package/ui/.output/server/node_modules/jsdom/lib/jsdom/level3/xpath.js +1875 -0
  1115. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/aborting/AbortController-impl.js +17 -0
  1116. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js +131 -0
  1117. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +60 -0
  1118. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js +78 -0
  1119. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/attributes.js +312 -0
  1120. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +75 -0
  1121. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js +66 -0
  1122. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/crypto/Crypto-impl.js +68 -0
  1123. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSConditionRule-impl.js +17 -0
  1124. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSContainerRule-impl.js +33 -0
  1125. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSCounterStyleRule-impl.js +45 -0
  1126. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSFontFaceRule-impl.js +24 -0
  1127. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSGroupingRule-impl.js +55 -0
  1128. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSImportRule-impl.js +51 -0
  1129. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSKeyframeRule-impl.js +71 -0
  1130. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSKeyframesRule-impl.js +82 -0
  1131. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSLayerBlockRule-impl.js +18 -0
  1132. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSLayerStatementRule-impl.js +16 -0
  1133. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSMediaRule-impl.js +34 -0
  1134. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSNamespaceRule-impl.js +28 -0
  1135. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSNestedDeclarations-impl.js +19 -0
  1136. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSPageRule-impl.js +86 -0
  1137. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSRule-impl.js +24 -0
  1138. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSRuleList-impl.js +219 -0
  1139. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSScopeRule-impl.js +25 -0
  1140. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSStyleDeclaration-impl.js +741 -0
  1141. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSStyleProperties-impl.js +18 -0
  1142. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSStyleRule-impl.js +66 -0
  1143. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSStyleSheet-impl.js +133 -0
  1144. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/CSSSupportsRule-impl.js +68 -0
  1145. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/ElementCSSInlineStyle-impl.js +15 -0
  1146. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/MediaList-impl.js +141 -0
  1147. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/StyleSheet-impl.js +22 -0
  1148. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/StyleSheetList-impl.js +38 -0
  1149. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/computed-style.js +307 -0
  1150. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/css-parser.js +1032 -0
  1151. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/css-values.js +835 -0
  1152. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/generic-property-descriptor.js +145 -0
  1153. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/patched-csstree.js +12 -0
  1154. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/shorthand-properties.js +1498 -0
  1155. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/stylesheets.js +155 -0
  1156. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/helpers/system-colors.js +157 -0
  1157. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/background.js +458 -0
  1158. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundAttachment.js +64 -0
  1159. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundClip.js +64 -0
  1160. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundColor.js +53 -0
  1161. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundImage.js +66 -0
  1162. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundOrigin.js +64 -0
  1163. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundPosition.js +205 -0
  1164. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundRepeat.js +97 -0
  1165. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/backgroundSize.js +131 -0
  1166. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/border.js +115 -0
  1167. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderBottom.js +105 -0
  1168. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderBottomColor.js +59 -0
  1169. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderBottomStyle.js +59 -0
  1170. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderBottomWidth.js +62 -0
  1171. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderColor.js +114 -0
  1172. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderLeft.js +105 -0
  1173. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderLeftColor.js +59 -0
  1174. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderLeftStyle.js +59 -0
  1175. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderLeftWidth.js +62 -0
  1176. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderRight.js +105 -0
  1177. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderRightColor.js +59 -0
  1178. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderRightStyle.js +59 -0
  1179. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderRightWidth.js +62 -0
  1180. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderSpacing.js +70 -0
  1181. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderStyle.js +114 -0
  1182. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderTop.js +105 -0
  1183. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderTopColor.js +59 -0
  1184. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderTopStyle.js +59 -0
  1185. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderTopWidth.js +62 -0
  1186. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/borderWidth.js +115 -0
  1187. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/bottom.js +52 -0
  1188. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/clip.js +81 -0
  1189. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/display.js +217 -0
  1190. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/flex.js +187 -0
  1191. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/flexBasis.js +55 -0
  1192. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/flexGrow.js +55 -0
  1193. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/flexShrink.js +55 -0
  1194. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/font.js +273 -0
  1195. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/fontFamily.js +107 -0
  1196. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/fontSize.js +56 -0
  1197. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/fontStyle.js +74 -0
  1198. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/fontVariant.js +69 -0
  1199. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/fontWeight.js +60 -0
  1200. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/height.js +53 -0
  1201. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/left.js +52 -0
  1202. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/lineHeight.js +55 -0
  1203. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/margin.js +84 -0
  1204. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/marginBottom.js +58 -0
  1205. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/marginLeft.js +58 -0
  1206. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/marginRight.js +58 -0
  1207. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/marginTop.js +58 -0
  1208. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/opacity.js +52 -0
  1209. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/padding.js +85 -0
  1210. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/paddingBottom.js +59 -0
  1211. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/paddingLeft.js +59 -0
  1212. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/paddingRight.js +59 -0
  1213. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/paddingTop.js +59 -0
  1214. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/right.js +52 -0
  1215. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/top.js +52 -0
  1216. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/css/properties/width.js +53 -0
  1217. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +279 -0
  1218. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/custom-elements/ElementInternals-impl.js +56 -0
  1219. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/deviceorientation/DeviceMotionEventAcceleration-impl.js +7 -0
  1220. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/deviceorientation/DeviceMotionEventRotationRate-impl.js +7 -0
  1221. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/documents.js +15 -0
  1222. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +59 -0
  1223. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js +30 -0
  1224. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js +18 -0
  1225. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +63 -0
  1226. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/domparsing/serialization.js +36 -0
  1227. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/encoding/TextDecoder-impl.js +25 -0
  1228. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/encoding/TextEncoder-impl.js +26 -0
  1229. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/BeforeUnloadEvent-impl.js +12 -0
  1230. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/BlobEvent-impl.js +14 -0
  1231. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/CloseEvent-impl.js +10 -0
  1232. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js +20 -0
  1233. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +21 -0
  1234. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/DeviceMotionEvent-impl.js +49 -0
  1235. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/DeviceOrientationEvent-impl.js +10 -0
  1236. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +14 -0
  1237. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +195 -0
  1238. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js +24 -0
  1239. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +438 -0
  1240. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +9 -0
  1241. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +14 -0
  1242. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/InputEvent-impl.js +11 -0
  1243. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +29 -0
  1244. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +25 -0
  1245. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +72 -0
  1246. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js +20 -0
  1247. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/PointerEvent-impl.js +21 -0
  1248. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +9 -0
  1249. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +14 -0
  1250. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/PromiseRejectionEvent-impl.js +14 -0
  1251. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/StorageEvent-impl.js +26 -0
  1252. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/SubmitEvent-impl.js +13 -0
  1253. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +14 -0
  1254. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/TransitionEvent-impl.js +10 -0
  1255. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +43 -0
  1256. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/events/WheelEvent-impl.js +12 -0
  1257. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/fetch/Headers-impl.js +173 -0
  1258. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/fetch/header-list.js +158 -0
  1259. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/fetch/header-types.js +205 -0
  1260. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/fetch/header-utils.js +26 -0
  1261. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js +125 -0
  1262. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js +12 -0
  1263. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js +15 -0
  1264. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js +148 -0
  1265. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/geometry/DOMRect-impl.js +39 -0
  1266. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/geometry/DOMRectReadOnly-impl.js +72 -0
  1267. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/binary-data.js +63 -0
  1268. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/by-id-cache.js +67 -0
  1269. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/create-element.js +329 -0
  1270. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js +209 -0
  1271. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/custom-elements.js +272 -0
  1272. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/dates-and-times.js +270 -0
  1273. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/details.js +15 -0
  1274. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/encoding.js +60 -0
  1275. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/events.js +24 -0
  1276. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +104 -0
  1277. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +309 -0
  1278. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/html-constructor.js +78 -0
  1279. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +12 -0
  1280. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/is-window.js +18 -0
  1281. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js +48 -0
  1282. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/json.js +7 -0
  1283. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/mutation-observers.js +198 -0
  1284. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/namespaces.js +16 -0
  1285. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/node.js +108 -0
  1286. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js +195 -0
  1287. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set.js +104 -0
  1288. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/page-transition-event.js +9 -0
  1289. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +75 -0
  1290. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/shadow-dom.js +285 -0
  1291. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/strings.js +168 -0
  1292. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/svg/basic-types.js +41 -0
  1293. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/svg/render.js +46 -0
  1294. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/text.js +19 -0
  1295. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +72 -0
  1296. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +65 -0
  1297. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/hr-time/Performance-impl.js +22 -0
  1298. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/interfaces.js +273 -0
  1299. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +95 -0
  1300. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +37 -0
  1301. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/MimeType-impl.js +3 -0
  1302. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js +21 -0
  1303. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +29 -0
  1304. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  1305. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  1306. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  1307. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  1308. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  1309. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +8 -0
  1310. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/Plugin-impl.js +3 -0
  1311. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js +23 -0
  1312. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  1313. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  1314. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/node.js +331 -0
  1315. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js +16 -0
  1316. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +118 -0
  1317. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +80 -0
  1318. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +20 -0
  1319. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +120 -0
  1320. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js +64 -0
  1321. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js +171 -0
  1322. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +1015 -0
  1323. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +44 -0
  1324. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +28 -0
  1325. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +24 -0
  1326. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +584 -0
  1327. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +81 -0
  1328. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +50 -0
  1329. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +43 -0
  1330. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  1331. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  1332. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +44 -0
  1333. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +12 -0
  1334. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +79 -0
  1335. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +117 -0
  1336. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js +96 -0
  1337. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  1338. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  1339. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +20 -0
  1340. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +35 -0
  1341. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  1342. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  1343. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  1344. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +211 -0
  1345. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +8 -0
  1346. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +43 -0
  1347. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  1348. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormControlsCollection-impl.js +33 -0
  1349. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +248 -0
  1350. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +266 -0
  1351. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +12 -0
  1352. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  1353. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  1354. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  1355. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  1356. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +368 -0
  1357. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  1358. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +127 -0
  1359. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +1097 -0
  1360. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  1361. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +94 -0
  1362. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +18 -0
  1363. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +107 -0
  1364. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  1365. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +9 -0
  1366. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +126 -0
  1367. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  1368. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  1369. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +180 -0
  1370. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  1371. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +9 -0
  1372. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +26 -0
  1373. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  1374. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +146 -0
  1375. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +110 -0
  1376. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +88 -0
  1377. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +88 -0
  1378. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  1379. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  1380. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +9 -0
  1381. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  1382. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +72 -0
  1383. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  1384. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +255 -0
  1385. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +283 -0
  1386. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +59 -0
  1387. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +8 -0
  1388. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  1389. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +83 -0
  1390. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  1391. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +40 -0
  1392. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  1393. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +236 -0
  1394. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +88 -0
  1395. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +61 -0
  1396. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +67 -0
  1397. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +244 -0
  1398. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  1399. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  1400. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +13 -0
  1401. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  1402. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  1403. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +17 -0
  1404. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +1182 -0
  1405. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/NodeList-impl.js +43 -0
  1406. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  1407. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +11 -0
  1408. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +90 -0
  1409. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  1410. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/RadioNodeList-impl.js +49 -0
  1411. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGDefsElement-impl.js +9 -0
  1412. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGDescElement-impl.js +9 -0
  1413. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js +64 -0
  1414. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGGElement-impl.js +9 -0
  1415. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +16 -0
  1416. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGMetadataElement-impl.js +9 -0
  1417. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js +40 -0
  1418. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGSwitchElement-impl.js +9 -0
  1419. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGSymbolElement-impl.js +9 -0
  1420. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js +42 -0
  1421. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js +9 -0
  1422. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js +41 -0
  1423. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Slotable-impl.js +48 -0
  1424. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +96 -0
  1425. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +14 -0
  1426. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  1427. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js +43 -0
  1428. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/range/Range-impl.js +902 -0
  1429. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/range/StaticRange-impl.js +39 -0
  1430. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/range/boundary-point.js +47 -0
  1431. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/selection/Selection-impl.js +358 -0
  1432. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedPreserveAspectRatio-impl.js +24 -0
  1433. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedRect-impl.js +122 -0
  1434. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js +42 -0
  1435. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGListBase.js +195 -0
  1436. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js +48 -0
  1437. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGPreserveAspectRatio-impl.js +100 -0
  1438. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGRect-impl.js +143 -0
  1439. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js +16 -0
  1440. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js +107 -0
  1441. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +217 -0
  1442. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/traversal/helpers.js +44 -0
  1443. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/webidl/DOMException-impl.js +46 -0
  1444. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js +211 -0
  1445. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/webstorage/Storage-impl.js +102 -0
  1446. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/BarProp-impl.js +10 -0
  1447. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/External-impl.js +9 -0
  1448. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +148 -0
  1449. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +227 -0
  1450. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/Screen-impl.js +13 -0
  1451. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/SessionHistory.js +163 -0
  1452. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window/navigation.js +87 -0
  1453. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/window-properties.js +241 -0
  1454. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +191 -0
  1455. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +1087 -0
  1456. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +17 -0
  1457. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +4 -0
  1458. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/multipart-form-data.js +99 -0
  1459. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js +57 -0
  1460. package/ui/.output/server/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js +170 -0
  1461. package/ui/.output/server/node_modules/jsdom/lib/jsdom/utils.js +105 -0
  1462. package/ui/.output/server/node_modules/jsdom/lib/jsdom/virtual-console.js +46 -0
  1463. package/ui/.output/server/node_modules/jsdom/package.json +126 -0
  1464. package/ui/.output/server/node_modules/lru-cache/dist/commonjs/node/index.min.js +2 -0
  1465. package/ui/.output/server/node_modules/lru-cache/dist/commonjs/package.json +3 -0
  1466. package/ui/.output/server/node_modules/lru-cache/package.json +154 -0
  1467. package/ui/.output/server/node_modules/marked/lib/marked.esm.js +77 -0
  1468. package/ui/.output/server/node_modules/marked/package.json +103 -0
  1469. package/ui/.output/server/node_modules/mdn-data/css/at-rules.json +581 -0
  1470. package/ui/.output/server/node_modules/mdn-data/css/properties.json +11881 -0
  1471. package/ui/.output/server/node_modules/mdn-data/css/syntaxes.json +1136 -0
  1472. package/ui/.output/server/node_modules/mdn-data/package.json +38 -0
  1473. package/ui/.output/server/node_modules/ms/index.js +162 -0
  1474. package/ui/.output/server/node_modules/ms/package.json +38 -0
  1475. package/ui/.output/server/node_modules/parse5/dist/common/doctype.js +114 -0
  1476. package/ui/.output/server/node_modules/parse5/dist/common/error-codes.js +63 -0
  1477. package/ui/.output/server/node_modules/parse5/dist/common/foreign-content.js +228 -0
  1478. package/ui/.output/server/node_modules/parse5/dist/common/html.js +523 -0
  1479. package/ui/.output/server/node_modules/parse5/dist/common/token.js +20 -0
  1480. package/ui/.output/server/node_modules/parse5/dist/common/unicode.js +62 -0
  1481. package/ui/.output/server/node_modules/parse5/dist/index.js +42 -0
  1482. package/ui/.output/server/node_modules/parse5/dist/parser/formatting-element-list.js +110 -0
  1483. package/ui/.output/server/node_modules/parse5/dist/parser/index.js +3245 -0
  1484. package/ui/.output/server/node_modules/parse5/dist/parser/open-element-stack.js +324 -0
  1485. package/ui/.output/server/node_modules/parse5/dist/serializer/index.js +168 -0
  1486. package/ui/.output/server/node_modules/parse5/dist/tokenizer/index.js +2712 -0
  1487. package/ui/.output/server/node_modules/parse5/dist/tokenizer/preprocessor.js +196 -0
  1488. package/ui/.output/server/node_modules/parse5/dist/tree-adapters/default.js +173 -0
  1489. package/ui/.output/server/node_modules/parse5/package.json +53 -0
  1490. package/ui/.output/server/node_modules/perfect-debounce/dist/index.mjs +89 -0
  1491. package/ui/.output/server/node_modules/perfect-debounce/package.json +41 -0
  1492. package/ui/.output/server/node_modules/punycode/package.json +58 -0
  1493. package/ui/.output/server/node_modules/punycode/punycode.js +443 -0
  1494. package/ui/.output/server/node_modules/saxes/package.json +71 -0
  1495. package/ui/.output/server/node_modules/saxes/saxes.js +2053 -0
  1496. package/ui/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
  1497. package/ui/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
  1498. package/ui/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
  1499. package/ui/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
  1500. package/ui/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
  1501. package/ui/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
  1502. package/ui/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
  1503. package/ui/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
  1504. package/ui/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
  1505. package/ui/.output/server/node_modules/source-map-js/lib/util.js +594 -0
  1506. package/ui/.output/server/node_modules/source-map-js/package.json +71 -0
  1507. package/ui/.output/server/node_modules/source-map-js/source-map.js +8 -0
  1508. package/ui/.output/server/node_modules/supports-color/index.js +135 -0
  1509. package/ui/.output/server/node_modules/supports-color/package.json +53 -0
  1510. package/ui/.output/server/node_modules/symbol-tree/lib/SymbolTree.js +838 -0
  1511. package/ui/.output/server/node_modules/symbol-tree/lib/SymbolTreeNode.js +54 -0
  1512. package/ui/.output/server/node_modules/symbol-tree/lib/TreeIterator.js +69 -0
  1513. package/ui/.output/server/node_modules/symbol-tree/lib/TreePosition.js +11 -0
  1514. package/ui/.output/server/node_modules/symbol-tree/package.json +47 -0
  1515. package/ui/.output/server/node_modules/tailwind-merge/dist/bundle-mjs.mjs +2559 -0
  1516. package/ui/.output/server/node_modules/tailwind-merge/package.json +91 -0
  1517. package/ui/.output/server/node_modules/tldts/dist/cjs/index.js +1170 -0
  1518. package/ui/.output/server/node_modules/tldts/package.json +89 -0
  1519. package/ui/.output/server/node_modules/tough-cookie/dist/index.cjs +2282 -0
  1520. package/ui/.output/server/node_modules/tough-cookie/package.json +148 -0
  1521. package/ui/.output/server/node_modules/tr46/index.js +344 -0
  1522. package/ui/.output/server/node_modules/tr46/lib/mappingTable.json +1 -0
  1523. package/ui/.output/server/node_modules/tr46/lib/regexes.js +29 -0
  1524. package/ui/.output/server/node_modules/tr46/lib/statusMapping.js +9 -0
  1525. package/ui/.output/server/node_modules/tr46/package.json +47 -0
  1526. package/ui/.output/server/node_modules/ufo/dist/index.mjs +645 -0
  1527. package/ui/.output/server/node_modules/ufo/package.json +48 -0
  1528. package/ui/.output/server/node_modules/undici/index.js +234 -0
  1529. package/ui/.output/server/node_modules/undici/lib/api/abort-signal.js +59 -0
  1530. package/ui/.output/server/node_modules/undici/lib/api/api-connect.js +110 -0
  1531. package/ui/.output/server/node_modules/undici/lib/api/api-pipeline.js +252 -0
  1532. package/ui/.output/server/node_modules/undici/lib/api/api-request.js +214 -0
  1533. package/ui/.output/server/node_modules/undici/lib/api/api-stream.js +209 -0
  1534. package/ui/.output/server/node_modules/undici/lib/api/api-upgrade.js +111 -0
  1535. package/ui/.output/server/node_modules/undici/lib/api/index.js +7 -0
  1536. package/ui/.output/server/node_modules/undici/lib/api/readable.js +580 -0
  1537. package/ui/.output/server/node_modules/undici/lib/cache/memory-cache-store.js +234 -0
  1538. package/ui/.output/server/node_modules/undici/lib/cache/sqlite-cache-store.js +461 -0
  1539. package/ui/.output/server/node_modules/undici/lib/core/connect.js +153 -0
  1540. package/ui/.output/server/node_modules/undici/lib/core/constants.js +143 -0
  1541. package/ui/.output/server/node_modules/undici/lib/core/diagnostics.js +227 -0
  1542. package/ui/.output/server/node_modules/undici/lib/core/errors.js +477 -0
  1543. package/ui/.output/server/node_modules/undici/lib/core/request.js +453 -0
  1544. package/ui/.output/server/node_modules/undici/lib/core/socks5-client.js +412 -0
  1545. package/ui/.output/server/node_modules/undici/lib/core/socks5-utils.js +198 -0
  1546. package/ui/.output/server/node_modules/undici/lib/core/symbols.js +75 -0
  1547. package/ui/.output/server/node_modules/undici/lib/core/tree.js +160 -0
  1548. package/ui/.output/server/node_modules/undici/lib/core/util.js +992 -0
  1549. package/ui/.output/server/node_modules/undici/lib/dispatcher/agent.js +158 -0
  1550. package/ui/.output/server/node_modules/undici/lib/dispatcher/balanced-pool.js +219 -0
  1551. package/ui/.output/server/node_modules/undici/lib/dispatcher/client-h1.js +1654 -0
  1552. package/ui/.output/server/node_modules/undici/lib/dispatcher/client-h2.js +995 -0
  1553. package/ui/.output/server/node_modules/undici/lib/dispatcher/client.js +663 -0
  1554. package/ui/.output/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +165 -0
  1555. package/ui/.output/server/node_modules/undici/lib/dispatcher/dispatcher.js +48 -0
  1556. package/ui/.output/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +146 -0
  1557. package/ui/.output/server/node_modules/undici/lib/dispatcher/fixed-queue.js +135 -0
  1558. package/ui/.output/server/node_modules/undici/lib/dispatcher/h2c-client.js +51 -0
  1559. package/ui/.output/server/node_modules/undici/lib/dispatcher/pool-base.js +214 -0
  1560. package/ui/.output/server/node_modules/undici/lib/dispatcher/pool.js +118 -0
  1561. package/ui/.output/server/node_modules/undici/lib/dispatcher/proxy-agent.js +318 -0
  1562. package/ui/.output/server/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  1563. package/ui/.output/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +137 -0
  1564. package/ui/.output/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +249 -0
  1565. package/ui/.output/server/node_modules/undici/lib/encoding/index.js +33 -0
  1566. package/ui/.output/server/node_modules/undici/lib/global.js +50 -0
  1567. package/ui/.output/server/node_modules/undici/lib/handler/cache-handler.js +578 -0
  1568. package/ui/.output/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +124 -0
  1569. package/ui/.output/server/node_modules/undici/lib/handler/decorator-handler.js +67 -0
  1570. package/ui/.output/server/node_modules/undici/lib/handler/deduplication-handler.js +460 -0
  1571. package/ui/.output/server/node_modules/undici/lib/handler/redirect-handler.js +238 -0
  1572. package/ui/.output/server/node_modules/undici/lib/handler/retry-handler.js +394 -0
  1573. package/ui/.output/server/node_modules/undici/lib/handler/unwrap-handler.js +100 -0
  1574. package/ui/.output/server/node_modules/undici/lib/handler/wrap-handler.js +105 -0
  1575. package/ui/.output/server/node_modules/undici/lib/interceptor/cache.js +495 -0
  1576. package/ui/.output/server/node_modules/undici/lib/interceptor/decompress.js +259 -0
  1577. package/ui/.output/server/node_modules/undici/lib/interceptor/deduplicate.js +117 -0
  1578. package/ui/.output/server/node_modules/undici/lib/interceptor/dns.js +571 -0
  1579. package/ui/.output/server/node_modules/undici/lib/interceptor/dump.js +112 -0
  1580. package/ui/.output/server/node_modules/undici/lib/interceptor/redirect.js +21 -0
  1581. package/ui/.output/server/node_modules/undici/lib/interceptor/response-error.js +95 -0
  1582. package/ui/.output/server/node_modules/undici/lib/interceptor/retry.js +19 -0
  1583. package/ui/.output/server/node_modules/undici/lib/llhttp/constants.js +531 -0
  1584. package/ui/.output/server/node_modules/undici/lib/llhttp/llhttp-wasm.js +15 -0
  1585. package/ui/.output/server/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +15 -0
  1586. package/ui/.output/server/node_modules/undici/lib/llhttp/utils.js +12 -0
  1587. package/ui/.output/server/node_modules/undici/lib/mock/mock-agent.js +232 -0
  1588. package/ui/.output/server/node_modules/undici/lib/mock/mock-call-history.js +248 -0
  1589. package/ui/.output/server/node_modules/undici/lib/mock/mock-client.js +68 -0
  1590. package/ui/.output/server/node_modules/undici/lib/mock/mock-errors.js +29 -0
  1591. package/ui/.output/server/node_modules/undici/lib/mock/mock-interceptor.js +209 -0
  1592. package/ui/.output/server/node_modules/undici/lib/mock/mock-pool.js +68 -0
  1593. package/ui/.output/server/node_modules/undici/lib/mock/mock-symbols.js +32 -0
  1594. package/ui/.output/server/node_modules/undici/lib/mock/mock-utils.js +486 -0
  1595. package/ui/.output/server/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  1596. package/ui/.output/server/node_modules/undici/lib/mock/snapshot-agent.js +353 -0
  1597. package/ui/.output/server/node_modules/undici/lib/mock/snapshot-recorder.js +588 -0
  1598. package/ui/.output/server/node_modules/undici/lib/mock/snapshot-utils.js +158 -0
  1599. package/ui/.output/server/node_modules/undici/lib/util/cache.js +408 -0
  1600. package/ui/.output/server/node_modules/undici/lib/util/date.js +653 -0
  1601. package/ui/.output/server/node_modules/undici/lib/util/promise.js +28 -0
  1602. package/ui/.output/server/node_modules/undici/lib/util/runtime-features.js +124 -0
  1603. package/ui/.output/server/node_modules/undici/lib/util/stats.js +32 -0
  1604. package/ui/.output/server/node_modules/undici/lib/util/timers.js +425 -0
  1605. package/ui/.output/server/node_modules/undici/lib/web/cache/cache.js +864 -0
  1606. package/ui/.output/server/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  1607. package/ui/.output/server/node_modules/undici/lib/web/cache/util.js +45 -0
  1608. package/ui/.output/server/node_modules/undici/lib/web/cookies/constants.js +12 -0
  1609. package/ui/.output/server/node_modules/undici/lib/web/cookies/index.js +199 -0
  1610. package/ui/.output/server/node_modules/undici/lib/web/cookies/parse.js +322 -0
  1611. package/ui/.output/server/node_modules/undici/lib/web/cookies/util.js +282 -0
  1612. package/ui/.output/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +399 -0
  1613. package/ui/.output/server/node_modules/undici/lib/web/eventsource/eventsource.js +501 -0
  1614. package/ui/.output/server/node_modules/undici/lib/web/eventsource/util.js +29 -0
  1615. package/ui/.output/server/node_modules/undici/lib/web/fetch/body.js +509 -0
  1616. package/ui/.output/server/node_modules/undici/lib/web/fetch/constants.js +131 -0
  1617. package/ui/.output/server/node_modules/undici/lib/web/fetch/data-url.js +596 -0
  1618. package/ui/.output/server/node_modules/undici/lib/web/fetch/formdata-parser.js +586 -0
  1619. package/ui/.output/server/node_modules/undici/lib/web/fetch/formdata.js +259 -0
  1620. package/ui/.output/server/node_modules/undici/lib/web/fetch/global.js +40 -0
  1621. package/ui/.output/server/node_modules/undici/lib/web/fetch/headers.js +719 -0
  1622. package/ui/.output/server/node_modules/undici/lib/web/fetch/index.js +2413 -0
  1623. package/ui/.output/server/node_modules/undici/lib/web/fetch/request.js +1115 -0
  1624. package/ui/.output/server/node_modules/undici/lib/web/fetch/response.js +641 -0
  1625. package/ui/.output/server/node_modules/undici/lib/web/fetch/util.js +1522 -0
  1626. package/ui/.output/server/node_modules/undici/lib/web/infra/index.js +229 -0
  1627. package/ui/.output/server/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +307 -0
  1628. package/ui/.output/server/node_modules/undici/lib/web/webidl/index.js +1006 -0
  1629. package/ui/.output/server/node_modules/undici/lib/web/websocket/connection.js +329 -0
  1630. package/ui/.output/server/node_modules/undici/lib/web/websocket/constants.js +126 -0
  1631. package/ui/.output/server/node_modules/undici/lib/web/websocket/events.js +331 -0
  1632. package/ui/.output/server/node_modules/undici/lib/web/websocket/frame.js +133 -0
  1633. package/ui/.output/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +118 -0
  1634. package/ui/.output/server/node_modules/undici/lib/web/websocket/receiver.js +450 -0
  1635. package/ui/.output/server/node_modules/undici/lib/web/websocket/sender.js +109 -0
  1636. package/ui/.output/server/node_modules/undici/lib/web/websocket/stream/websocketerror.js +104 -0
  1637. package/ui/.output/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +491 -0
  1638. package/ui/.output/server/node_modules/undici/lib/web/websocket/util.js +347 -0
  1639. package/ui/.output/server/node_modules/undici/lib/web/websocket/websocket.js +751 -0
  1640. package/ui/.output/server/node_modules/undici/package.json +152 -0
  1641. package/ui/.output/server/node_modules/unhead/dist/index.mjs +9 -0
  1642. package/ui/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
  1643. package/ui/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
  1644. package/ui/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
  1645. package/ui/.output/server/node_modules/unhead/dist/server.mjs +180 -0
  1646. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.B3VbJo7Y.mjs +207 -0
  1647. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
  1648. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
  1649. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.CaI5ZD4O.mjs +182 -0
  1650. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
  1651. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.D4vSFytZ.mjs +236 -0
  1652. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
  1653. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.Dh1cQCTe.mjs +44 -0
  1654. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.TxTMM7cM.mjs +166 -0
  1655. package/ui/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
  1656. package/ui/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
  1657. package/ui/.output/server/node_modules/unhead/package.json +105 -0
  1658. package/ui/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
  1659. package/ui/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
  1660. package/ui/.output/server/node_modules/vue/index.js +7 -0
  1661. package/ui/.output/server/node_modules/vue/index.mjs +1 -0
  1662. package/ui/.output/server/node_modules/vue/package.json +112 -0
  1663. package/ui/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
  1664. package/ui/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +301 -0
  1665. package/ui/.output/server/node_modules/vue-bundle-renderer/package.json +55 -0
  1666. package/ui/.output/server/node_modules/vue-router/dist/devtools-EWN81iOl.mjs +1220 -0
  1667. package/ui/.output/server/node_modules/vue-router/dist/vue-router.mjs +1557 -0
  1668. package/ui/.output/server/node_modules/vue-router/package.json +153 -0
  1669. package/ui/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
  1670. package/ui/.output/server/node_modules/w3c-xmlserializer/lib/attributes.js +125 -0
  1671. package/ui/.output/server/node_modules/w3c-xmlserializer/lib/constants.js +44 -0
  1672. package/ui/.output/server/node_modules/w3c-xmlserializer/lib/serialize.js +365 -0
  1673. package/ui/.output/server/node_modules/w3c-xmlserializer/package.json +32 -0
  1674. package/ui/.output/server/node_modules/webidl-conversions/lib/index.js +436 -0
  1675. package/ui/.output/server/node_modules/webidl-conversions/package.json +34 -0
  1676. package/ui/.output/server/node_modules/whatwg-mimetype/lib/index.js +4 -0
  1677. package/ui/.output/server/node_modules/whatwg-mimetype/lib/mime-type-parameters.js +70 -0
  1678. package/ui/.output/server/node_modules/whatwg-mimetype/lib/mime-type.js +127 -0
  1679. package/ui/.output/server/node_modules/whatwg-mimetype/lib/parser.js +105 -0
  1680. package/ui/.output/server/node_modules/whatwg-mimetype/lib/serializer.js +25 -0
  1681. package/ui/.output/server/node_modules/whatwg-mimetype/lib/sniff.js +751 -0
  1682. package/ui/.output/server/node_modules/whatwg-mimetype/lib/utils.js +60 -0
  1683. package/ui/.output/server/node_modules/whatwg-mimetype/package.json +44 -0
  1684. package/ui/.output/server/node_modules/whatwg-url/index.js +27 -0
  1685. package/ui/.output/server/node_modules/whatwg-url/lib/Function.js +42 -0
  1686. package/ui/.output/server/node_modules/whatwg-url/lib/URL-impl.js +234 -0
  1687. package/ui/.output/server/node_modules/whatwg-url/lib/URL.js +499 -0
  1688. package/ui/.output/server/node_modules/whatwg-url/lib/URLSearchParams-impl.js +135 -0
  1689. package/ui/.output/server/node_modules/whatwg-url/lib/URLSearchParams.js +505 -0
  1690. package/ui/.output/server/node_modules/whatwg-url/lib/encoding.js +16 -0
  1691. package/ui/.output/server/node_modules/whatwg-url/lib/infra.js +26 -0
  1692. package/ui/.output/server/node_modules/whatwg-url/lib/percent-encoding.js +147 -0
  1693. package/ui/.output/server/node_modules/whatwg-url/lib/url-state-machine.js +1284 -0
  1694. package/ui/.output/server/node_modules/whatwg-url/lib/urlencoded.js +89 -0
  1695. package/ui/.output/server/node_modules/whatwg-url/lib/utils.js +252 -0
  1696. package/ui/.output/server/node_modules/whatwg-url/package.json +57 -0
  1697. package/ui/.output/server/node_modules/whatwg-url/webidl2js-wrapper.js +7 -0
  1698. package/ui/.output/server/node_modules/xml-name-validator/lib/xml-name-validator.js +9 -0
  1699. package/ui/.output/server/node_modules/xml-name-validator/package.json +30 -0
  1700. package/ui/.output/server/node_modules/xmlchars/package.json +51 -0
  1701. package/ui/.output/server/node_modules/xmlchars/xml/1.0/ed5.js +105 -0
  1702. package/ui/.output/server/node_modules/xmlchars/xml/1.1/ed2.js +145 -0
  1703. package/ui/.output/server/node_modules/xmlchars/xmlns/1.0/ed3.js +65 -0
  1704. package/ui/.output/server/package.json +78 -0
  1705. package/ui/package.json +27 -0
  1706. package/CONTRIBUTING.md +0 -78
  1707. package/scripts/run-tests.cjs +0 -18
@@ -0,0 +1,3150 @@
1
+ /**
2
+ * finder.js
3
+ */
4
+
5
+ /* import */
6
+ import {
7
+ matchAttributeSelector,
8
+ matchDirectionPseudoClass,
9
+ matchDisabledPseudoClass,
10
+ matchLanguagePseudoClass,
11
+ matchPseudoElementSelector,
12
+ matchReadOnlyPseudoClass,
13
+ matchTypeSelector
14
+ } from './matcher.js';
15
+ import {
16
+ findAST,
17
+ generateCSS,
18
+ parseSelector,
19
+ sortAST,
20
+ unescapeSelector,
21
+ walkAST
22
+ } from './parser.js';
23
+ import {
24
+ filterNodesByAnB,
25
+ findLogicalWithNestedHas,
26
+ generateException,
27
+ isCustomElement,
28
+ isFocusVisible,
29
+ isFocusableArea,
30
+ isVisible,
31
+ resolveContent,
32
+ sortNodes,
33
+ traverseNode
34
+ } from './utility.js';
35
+
36
+ /* constants */
37
+ import {
38
+ ATTR_SELECTOR,
39
+ CLASS_SELECTOR,
40
+ COMBINATOR,
41
+ DOCUMENT_FRAGMENT_NODE,
42
+ ELEMENT_NODE,
43
+ FORM_PARTS,
44
+ ID_SELECTOR,
45
+ INPUT_CHECK,
46
+ INPUT_DATE,
47
+ INPUT_EDIT,
48
+ INPUT_TEXT,
49
+ KEYS_LOGICAL,
50
+ NOT_SUPPORTED_ERR,
51
+ PS_CLASS_SELECTOR,
52
+ PS_ELEMENT_SELECTOR,
53
+ SHOW_ALL,
54
+ SHOW_CONTAINER,
55
+ SYNTAX_ERR,
56
+ TARGET_ALL,
57
+ TARGET_FIRST,
58
+ TARGET_LINEAL,
59
+ TARGET_SELF,
60
+ TEXT_NODE,
61
+ TYPE_SELECTOR
62
+ } from './constant.js';
63
+ const DIR_NEXT = 'next';
64
+ const DIR_PREV = 'prev';
65
+ const KEYS_FORM = new Set([...FORM_PARTS, 'fieldset', 'form']);
66
+ const KEYS_FORM_PS_VALID = new Set([...FORM_PARTS, 'form']);
67
+ const KEYS_INPUT_CHECK = new Set(INPUT_CHECK);
68
+ const KEYS_INPUT_PLACEHOLDER = new Set([...INPUT_TEXT, 'number']);
69
+ const KEYS_INPUT_RANGE = new Set([...INPUT_DATE, 'number', 'range']);
70
+ const KEYS_INPUT_REQUIRED = new Set([...INPUT_CHECK, ...INPUT_EDIT, 'file']);
71
+ const KEYS_INPUT_RESET = new Set(['button', 'reset']);
72
+ const KEYS_INPUT_SUBMIT = new Set(['image', 'submit']);
73
+ const KEYS_MODIFIER = new Set([
74
+ 'Alt',
75
+ 'AltGraph',
76
+ 'CapsLock',
77
+ 'Control',
78
+ 'Fn',
79
+ 'FnLock',
80
+ 'Hyper',
81
+ 'Meta',
82
+ 'NumLock',
83
+ 'ScrollLock',
84
+ 'Shift',
85
+ 'Super',
86
+ 'Symbol',
87
+ 'SymbolLock'
88
+ ]);
89
+ const KEYS_PS_UNCACHE = new Set([
90
+ 'any-link',
91
+ 'defined',
92
+ 'dir',
93
+ 'link',
94
+ 'scope'
95
+ ]);
96
+ const KEYS_PS_NTH_OF_TYPE = new Set([
97
+ 'first-of-type',
98
+ 'last-of-type',
99
+ 'only-of-type'
100
+ ]);
101
+
102
+ /**
103
+ * Finder
104
+ * NOTE: #ast[i] corresponds to #nodes[i]
105
+ */
106
+ export class Finder {
107
+ /* private fields */
108
+ #ast;
109
+ #astCache;
110
+ #check;
111
+ #descendant;
112
+ #document;
113
+ #documentCache;
114
+ #documentURL;
115
+ #event;
116
+ #eventHandlers;
117
+ #filterLeavesCache;
118
+ #focus;
119
+ #invalidate;
120
+ #invalidateResults;
121
+ #lastFocusVisible;
122
+ #node;
123
+ #nodeWalker;
124
+ #nodes;
125
+ #noexcept;
126
+ #pseudoElement;
127
+ #results;
128
+ #root;
129
+ #rootWalker;
130
+ #scoped;
131
+ #selector;
132
+ #selectorAST;
133
+ #shadow;
134
+ #verifyShadowHost;
135
+ #walkers;
136
+ #warn;
137
+ #window;
138
+
139
+ /**
140
+ * constructor
141
+ * @param {object} window - The window object.
142
+ */
143
+ constructor(window) {
144
+ this.#window = window;
145
+ this.#astCache = new WeakMap();
146
+ this.#documentCache = new WeakMap();
147
+ this.#event = null;
148
+ this.#focus = null;
149
+ this.#lastFocusVisible = null;
150
+ this.#eventHandlers = new Set([
151
+ {
152
+ keys: ['focus', 'focusin'],
153
+ handler: this._handleFocusEvent
154
+ },
155
+ {
156
+ keys: ['keydown', 'keyup'],
157
+ handler: this._handleKeyboardEvent
158
+ },
159
+ {
160
+ keys: ['mouseover', 'mousedown', 'mouseup', 'click', 'mouseout'],
161
+ handler: this._handleMouseEvent
162
+ }
163
+ ]);
164
+ this.#filterLeavesCache = new WeakMap();
165
+ this._registerEventListeners();
166
+ this.clearResults(true);
167
+ }
168
+
169
+ /**
170
+ * Handles errors.
171
+ * @param {Error} e - The error object.
172
+ * @param {object} [opt] - Options.
173
+ * @param {boolean} [opt.noexcept] - If true, exceptions are not thrown.
174
+ * @throws {Error} Throws an error.
175
+ * @returns {void}
176
+ */
177
+ onError = (e, opt = {}) => {
178
+ const noexcept = opt.noexcept ?? this.#noexcept;
179
+ if (noexcept) {
180
+ return;
181
+ }
182
+ const isDOMException =
183
+ e instanceof DOMException || e instanceof this.#window.DOMException;
184
+ if (isDOMException) {
185
+ if (e.name === NOT_SUPPORTED_ERR) {
186
+ if (this.#warn) {
187
+ console.warn(e.message);
188
+ }
189
+ return;
190
+ }
191
+ throw new this.#window.DOMException(e.message, e.name);
192
+ }
193
+ if (e.name in this.#window) {
194
+ throw new this.#window[e.name](e.message, { cause: e });
195
+ }
196
+ throw e;
197
+ };
198
+
199
+ /**
200
+ * Sets up the finder.
201
+ * @param {string} selector - The CSS selector.
202
+ * @param {object} node - Document, DocumentFragment, or Element.
203
+ * @param {object} [opt] - Options.
204
+ * @param {boolean} [opt.check] - Indicates if running in internal check().
205
+ * @param {boolean} [opt.noexcept] - If true, exceptions are not thrown.
206
+ * @param {boolean} [opt.warn] - If true, console warnings are enabled.
207
+ * @returns {object} The finder instance.
208
+ */
209
+ setup = (selector, node, opt = {}) => {
210
+ const { check, noexcept, warn } = opt;
211
+ this.#check = !!check;
212
+ this.#noexcept = !!noexcept;
213
+ this.#warn = !!warn;
214
+ [this.#document, this.#root, this.#shadow] = resolveContent(node);
215
+ this.#documentURL = null;
216
+ this.#node = node;
217
+ this.#scoped =
218
+ this.#node !== this.#root && this.#node.nodeType === ELEMENT_NODE;
219
+ this.#selector = selector;
220
+ this.#pseudoElement = [];
221
+ this.#walkers = new WeakMap();
222
+ this.#nodeWalker = null;
223
+ this.#rootWalker = null;
224
+ this.#verifyShadowHost = null;
225
+ this.clearResults();
226
+ return this;
227
+ };
228
+
229
+ /**
230
+ * Clear cached results.
231
+ * @param {boolean} all - clear all results
232
+ * @returns {void}
233
+ */
234
+ clearResults = (all = false) => {
235
+ this.#invalidateResults = new WeakMap();
236
+ if (all) {
237
+ this.#results = new WeakMap();
238
+ this.#filterLeavesCache = new WeakMap();
239
+ }
240
+ };
241
+
242
+ /**
243
+ * Handles focus events.
244
+ * @private
245
+ * @param {Event} evt - The event object.
246
+ * @returns {void}
247
+ */
248
+ _handleFocusEvent = evt => {
249
+ this.#focus = evt;
250
+ };
251
+
252
+ /**
253
+ * Handles keyboard events.
254
+ * @private
255
+ * @param {Event} evt - The event object.
256
+ * @returns {void}
257
+ */
258
+ _handleKeyboardEvent = evt => {
259
+ const { key } = evt;
260
+ if (!KEYS_MODIFIER.has(key)) {
261
+ this.#event = evt;
262
+ }
263
+ };
264
+
265
+ /**
266
+ * Handles mouse events.
267
+ * @private
268
+ * @param {Event} evt - The event object.
269
+ * @returns {void}
270
+ */
271
+ _handleMouseEvent = evt => {
272
+ this.#event = evt;
273
+ };
274
+
275
+ /**
276
+ * Registers event listeners.
277
+ * @private
278
+ * @returns {Array.<void>} An array of return values from addEventListener.
279
+ */
280
+ _registerEventListeners = () => {
281
+ const func = [];
282
+ for (const eventHandler of this.#eventHandlers) {
283
+ const { keys, handler } = eventHandler;
284
+ const l = keys.length;
285
+ for (let i = 0; i < l; i++) {
286
+ const key = keys[i];
287
+ func.push(
288
+ this.#window.addEventListener(key, handler, {
289
+ capture: true,
290
+ passive: true
291
+ })
292
+ );
293
+ }
294
+ }
295
+ return func;
296
+ };
297
+
298
+ /**
299
+ * Processes selector branches into the internal AST structure.
300
+ * @private
301
+ * @param {Array.<Array.<object>>} branches - The branches from walkAST.
302
+ * @param {string} selector - The original selector for error reporting.
303
+ * @returns {{ast: Array, descendant: boolean}}
304
+ * An object with the AST, descendant flag.
305
+ */
306
+ _processSelectorBranches = (branches, selector) => {
307
+ let descendant = false;
308
+ const ast = [];
309
+ const l = branches.length;
310
+ for (let i = 0; i < l; i++) {
311
+ const items = [...branches[i]];
312
+ const branch = [];
313
+ let item = items.shift();
314
+ if (item && item.type !== COMBINATOR) {
315
+ const leaves = new Set();
316
+ while (item) {
317
+ if (item.type === COMBINATOR) {
318
+ const [nextItem] = items;
319
+ if (!nextItem || nextItem.type === COMBINATOR) {
320
+ const msg = `Invalid selector ${selector}`;
321
+ this.onError(generateException(msg, SYNTAX_ERR, this.#window));
322
+ // Stop processing on invalid selector.
323
+ return { ast: [], descendant: false, invalidate: false };
324
+ }
325
+ if (item.name === ' ' || item.name === '>') {
326
+ descendant = true;
327
+ }
328
+ branch.push({ combo: item, leaves: sortAST(leaves) });
329
+ leaves.clear();
330
+ } else {
331
+ if (item.name && typeof item.name === 'string') {
332
+ const unescapedName = unescapeSelector(item.name);
333
+ if (unescapedName !== item.name) {
334
+ item.name = unescapedName;
335
+ }
336
+ if (/[|:]/.test(unescapedName)) {
337
+ item.namespace = true;
338
+ }
339
+ }
340
+ leaves.add(item);
341
+ }
342
+ if (items.length) {
343
+ item = items.shift();
344
+ } else {
345
+ branch.push({ combo: null, leaves: sortAST(leaves) });
346
+ leaves.clear();
347
+ break;
348
+ }
349
+ }
350
+ }
351
+ ast.push({ branch, dir: null, filtered: false, find: false });
352
+ }
353
+ return { ast, descendant };
354
+ };
355
+
356
+ /**
357
+ * Corresponds AST and nodes.
358
+ * @private
359
+ * @param {string} selector - The CSS selector.
360
+ * @returns {Array.<Array.<object>>} An array with the AST and nodes.
361
+ */
362
+ _correspond = selector => {
363
+ const nodes = [];
364
+ this.#descendant = false;
365
+ this.#invalidate = false;
366
+ let ast;
367
+ if (this.#documentCache.has(this.#document)) {
368
+ const cachedItem = this.#documentCache.get(this.#document);
369
+ if (cachedItem && cachedItem.has(`${selector}`)) {
370
+ const item = cachedItem.get(`${selector}`);
371
+ ast = item.ast;
372
+ this.#descendant = item.descendant;
373
+ this.#invalidate = item.invalidate;
374
+ this.#selectorAST = item.selectorAST;
375
+ }
376
+ }
377
+ if (ast) {
378
+ const l = ast.length;
379
+ for (let i = 0; i < l; i++) {
380
+ ast[i].dir = null;
381
+ ast[i].filtered = false;
382
+ ast[i].find = false;
383
+ nodes[i] = [];
384
+ }
385
+ } else {
386
+ this.#selectorAST = parseSelector(selector);
387
+ const { branches, info } = walkAST(this.#selectorAST, true);
388
+ const {
389
+ hasHasPseudoFunc,
390
+ hasLogicalPseudoFunc,
391
+ hasNthChildOfSelector,
392
+ hasStatePseudoClass
393
+ } = info;
394
+ this.#invalidate =
395
+ hasHasPseudoFunc ||
396
+ hasStatePseudoClass ||
397
+ !!(hasLogicalPseudoFunc && hasNthChildOfSelector);
398
+ const processed = this._processSelectorBranches(branches, selector);
399
+ ast = processed.ast;
400
+ this.#descendant = processed.descendant;
401
+ let cachedItem;
402
+ if (this.#documentCache.has(this.#document)) {
403
+ cachedItem = this.#documentCache.get(this.#document);
404
+ } else {
405
+ cachedItem = new Map();
406
+ }
407
+ cachedItem.set(`${selector}`, {
408
+ ast,
409
+ descendant: this.#descendant,
410
+ invalidate: this.#invalidate,
411
+ selectorAST: this.#selectorAST
412
+ });
413
+ this.#documentCache.set(this.#document, cachedItem);
414
+ // Initialize nodes array for each branch.
415
+ for (let i = 0; i < ast.length; i++) {
416
+ nodes[i] = [];
417
+ }
418
+ }
419
+ return [ast, nodes];
420
+ };
421
+
422
+ /**
423
+ * Creates a TreeWalker.
424
+ * @private
425
+ * @param {object} node - The Document, DocumentFragment, or Element node.
426
+ * @param {object} [opt] - Options.
427
+ * @param {boolean} [opt.force] - Force creation of a new TreeWalker.
428
+ * @param {number} [opt.whatToShow] - The NodeFilter whatToShow value.
429
+ * @returns {object} The TreeWalker object.
430
+ */
431
+ _createTreeWalker = (node, opt = {}) => {
432
+ const { force = false, whatToShow = SHOW_CONTAINER } = opt;
433
+ if (force) {
434
+ return this.#document.createTreeWalker(node, whatToShow);
435
+ } else if (this.#walkers.has(node)) {
436
+ return this.#walkers.get(node);
437
+ }
438
+ const walker = this.#document.createTreeWalker(node, whatToShow);
439
+ this.#walkers.set(node, walker);
440
+ return walker;
441
+ };
442
+
443
+ /**
444
+ * Gets selector branches from cache or parses them.
445
+ * @private
446
+ * @param {object} selector - The AST.
447
+ * @returns {Array.<Array.<object>>} The selector branches.
448
+ */
449
+ _getSelectorBranches = selector => {
450
+ if (this.#astCache.has(selector)) {
451
+ return this.#astCache.get(selector);
452
+ }
453
+ const { branches } = walkAST(selector);
454
+ this.#astCache.set(selector, branches);
455
+ return branches;
456
+ };
457
+
458
+ /**
459
+ * Gets the children of a node, optionally filtered by a selector.
460
+ * @private
461
+ * @param {object} parentNode - The parent element.
462
+ * @param {Array.<Array.<object>>} selectorBranches - The selector branches.
463
+ * @param {object} opt - Options.
464
+ * @returns {Array.<object>} An array of child nodes.
465
+ */
466
+ _getFilteredChildren = (parentNode, selectorBranches, opt) => {
467
+ const children = [];
468
+ let childNode = parentNode.firstElementChild;
469
+ while (childNode) {
470
+ if (selectorBranches) {
471
+ let isMatch = false;
472
+ const l = selectorBranches.length;
473
+ for (let i = 0; i < l; i++) {
474
+ const leaves = selectorBranches[i];
475
+ if (this._matchLeaves(leaves, childNode, opt)) {
476
+ isMatch = true;
477
+ break;
478
+ }
479
+ }
480
+ if (isMatch) {
481
+ if (this.#node === childNode) {
482
+ children.push(childNode);
483
+ } else if (isVisible(childNode)) {
484
+ children.push(childNode);
485
+ }
486
+ }
487
+ } else {
488
+ children.push(childNode);
489
+ }
490
+ childNode = childNode.nextElementSibling;
491
+ }
492
+ return children;
493
+ };
494
+
495
+ /**
496
+ * Collects nth-child nodes.
497
+ * @private
498
+ * @param {object} anb - An+B options.
499
+ * @param {number} anb.a - The 'a' value.
500
+ * @param {number} anb.b - The 'b' value.
501
+ * @param {boolean} [anb.reverse] - If true, reverses the order.
502
+ * @param {object} [anb.selector] - The AST.
503
+ * @param {object} node - The Element node.
504
+ * @param {object} opt - Options.
505
+ * @returns {Set.<object>} A collection of matched nodes.
506
+ */
507
+ _collectNthChild = (anb, node, opt) => {
508
+ const { a, b, selector } = anb;
509
+ const { parentNode } = node;
510
+ if (!parentNode) {
511
+ const matchedNode = new Set();
512
+ if (node === this.#root && a * 1 + b * 1 === 1) {
513
+ if (selector) {
514
+ const selectorBranches = this._getSelectorBranches(selector);
515
+ const l = selectorBranches.length;
516
+ for (let i = 0; i < l; i++) {
517
+ const leaves = selectorBranches[i];
518
+ if (this._matchLeaves(leaves, node, opt)) {
519
+ matchedNode.add(node);
520
+ break;
521
+ }
522
+ }
523
+ } else {
524
+ matchedNode.add(node);
525
+ }
526
+ }
527
+ return matchedNode;
528
+ }
529
+ const selectorBranches = selector
530
+ ? this._getSelectorBranches(selector)
531
+ : null;
532
+ const children = this._getFilteredChildren(
533
+ parentNode,
534
+ selectorBranches,
535
+ opt
536
+ );
537
+ const matchedNodes = filterNodesByAnB(children, anb);
538
+ return new Set(matchedNodes);
539
+ };
540
+
541
+ /**
542
+ * Collects nth-of-type nodes.
543
+ * @private
544
+ * @param {object} anb - An+B options.
545
+ * @param {number} anb.a - The 'a' value.
546
+ * @param {number} anb.b - The 'b' value.
547
+ * @param {boolean} [anb.reverse] - If true, reverses the order.
548
+ * @param {object} node - The Element node.
549
+ * @returns {Set.<object>} A collection of matched nodes.
550
+ */
551
+ _collectNthOfType = (anb, node) => {
552
+ const { parentNode } = node;
553
+ if (!parentNode) {
554
+ if (node === this.#root && anb.a * 1 + anb.b * 1 === 1) {
555
+ return new Set([node]);
556
+ }
557
+ return new Set();
558
+ }
559
+ const typedSiblings = [];
560
+ let sibling = parentNode.firstElementChild;
561
+ while (sibling) {
562
+ if (
563
+ sibling.localName === node.localName &&
564
+ sibling.namespaceURI === node.namespaceURI &&
565
+ sibling.prefix === node.prefix
566
+ ) {
567
+ typedSiblings.push(sibling);
568
+ }
569
+ sibling = sibling.nextElementSibling;
570
+ }
571
+ const matchedNodes = filterNodesByAnB(typedSiblings, anb);
572
+ return new Set(matchedNodes);
573
+ };
574
+
575
+ /**
576
+ * Matches An+B.
577
+ * @private
578
+ * @param {object} ast - The AST.
579
+ * @param {object} node - The Element node.
580
+ * @param {string} nthName - The name of the nth pseudo-class.
581
+ * @param {object} opt - Options.
582
+ * @returns {Set.<object>} A collection of matched nodes.
583
+ */
584
+ _matchAnPlusB = (ast, node, nthName, opt) => {
585
+ const {
586
+ nth: { a, b, name: nthIdentName },
587
+ selector
588
+ } = ast;
589
+ const anbMap = new Map();
590
+ if (nthIdentName) {
591
+ if (nthIdentName === 'even') {
592
+ anbMap.set('a', 2);
593
+ anbMap.set('b', 0);
594
+ } else if (nthIdentName === 'odd') {
595
+ anbMap.set('a', 2);
596
+ anbMap.set('b', 1);
597
+ }
598
+ if (nthName.indexOf('last') > -1) {
599
+ anbMap.set('reverse', true);
600
+ }
601
+ } else {
602
+ if (typeof a === 'string' && /-?\d+/.test(a)) {
603
+ anbMap.set('a', a * 1);
604
+ } else {
605
+ anbMap.set('a', 0);
606
+ }
607
+ if (typeof b === 'string' && /-?\d+/.test(b)) {
608
+ anbMap.set('b', b * 1);
609
+ } else {
610
+ anbMap.set('b', 0);
611
+ }
612
+ if (nthName.indexOf('last') > -1) {
613
+ anbMap.set('reverse', true);
614
+ }
615
+ }
616
+ if (nthName === 'nth-child' || nthName === 'nth-last-child') {
617
+ if (selector) {
618
+ anbMap.set('selector', selector);
619
+ }
620
+ const anb = Object.fromEntries(anbMap);
621
+ const nodes = this._collectNthChild(anb, node, opt);
622
+ return nodes;
623
+ } else if (nthName === 'nth-of-type' || nthName === 'nth-last-of-type') {
624
+ const anb = Object.fromEntries(anbMap);
625
+ const nodes = this._collectNthOfType(anb, node);
626
+ return nodes;
627
+ }
628
+ return new Set();
629
+ };
630
+
631
+ /**
632
+ * Matches the :has() pseudo-class function.
633
+ * @private
634
+ * @param {Array.<object>} astLeaves - The AST leaves.
635
+ * @param {object} node - The Element node.
636
+ * @param {object} [opt] - Options.
637
+ * @returns {boolean} The result.
638
+ */
639
+ _matchHasPseudoFunc = (astLeaves, node, opt = {}) => {
640
+ if (Array.isArray(astLeaves) && astLeaves.length) {
641
+ // Prepare a copy to avoid astLeaves being consumed.
642
+ const leaves = [...astLeaves];
643
+ const [leaf] = leaves;
644
+ const { type: leafType } = leaf;
645
+ let combo;
646
+ if (leafType === COMBINATOR) {
647
+ combo = leaves.shift();
648
+ } else {
649
+ combo = {
650
+ name: ' ',
651
+ type: COMBINATOR
652
+ };
653
+ }
654
+ const twigLeaves = [];
655
+ while (leaves.length) {
656
+ const [item] = leaves;
657
+ const { type: itemType } = item;
658
+ if (itemType === COMBINATOR) {
659
+ break;
660
+ } else {
661
+ twigLeaves.push(leaves.shift());
662
+ }
663
+ }
664
+ const twig = {
665
+ combo,
666
+ leaves: twigLeaves
667
+ };
668
+ opt.dir = DIR_NEXT;
669
+ const nodes = this._collectCombinatorMatches(twig, node, opt, []);
670
+ if (nodes.length) {
671
+ if (leaves.length) {
672
+ let bool = false;
673
+ for (const nextNode of nodes) {
674
+ bool = this._matchHasPseudoFunc(leaves, nextNode, opt);
675
+ if (bool) {
676
+ break;
677
+ }
678
+ }
679
+ return bool;
680
+ }
681
+ return true;
682
+ }
683
+ }
684
+ return false;
685
+ };
686
+
687
+ /**
688
+ * Evaluates the :has() pseudo-class.
689
+ * @private
690
+ * @param {object} astData - The AST data.
691
+ * @param {object} node - The Element node.
692
+ * @param {object} [opt] - Options.
693
+ * @returns {?object} The matched node.
694
+ */
695
+ _evaluateHasPseudo = (astData, node, opt = {}) => {
696
+ const { branches } = astData;
697
+ let bool = false;
698
+ const l = branches.length;
699
+ for (let i = 0; i < l; i++) {
700
+ const leaves = branches[i];
701
+ bool = this._matchHasPseudoFunc(leaves, node, opt);
702
+ if (bool) {
703
+ break;
704
+ }
705
+ }
706
+ if (!bool) {
707
+ return null;
708
+ }
709
+ if (
710
+ (opt.isShadowRoot || this.#shadow) &&
711
+ node.nodeType === DOCUMENT_FRAGMENT_NODE
712
+ ) {
713
+ return this.#verifyShadowHost ? node : null;
714
+ }
715
+ return node;
716
+ };
717
+
718
+ /**
719
+ * Matches logical pseudo-class functions.
720
+ * @private
721
+ * @param {object} astData - The AST data.
722
+ * @param {object} node - The Element node.
723
+ * @param {object} [opt] - Options.
724
+ * @returns {?object} The matched node.
725
+ */
726
+ _matchLogicalPseudoFunc = (astData, node, opt = {}) => {
727
+ const { astName, branches, twigBranches } = astData;
728
+ // Handle :has().
729
+ if (astName === 'has') {
730
+ return this._evaluateHasPseudo(astData, node, opt);
731
+ }
732
+ // Handle :is(), :not(), :where().
733
+ const isShadowRoot =
734
+ (opt.isShadowRoot || this.#shadow) &&
735
+ node.nodeType === DOCUMENT_FRAGMENT_NODE;
736
+ // Check for invalid shadow root.
737
+ if (isShadowRoot) {
738
+ let invalid = false;
739
+ for (const branch of branches) {
740
+ if (branch.length > 1) {
741
+ invalid = true;
742
+ break;
743
+ } else if (astName === 'not') {
744
+ const [{ type: childAstType }] = branch;
745
+ if (childAstType !== PS_CLASS_SELECTOR) {
746
+ invalid = true;
747
+ break;
748
+ }
749
+ }
750
+ }
751
+ if (invalid) {
752
+ return null;
753
+ }
754
+ }
755
+ opt.forgive = astName === 'is' || astName === 'where';
756
+ const l = twigBranches.length;
757
+ let bool;
758
+ for (let i = 0; i < l; i++) {
759
+ const branch = twigBranches[i];
760
+ const lastIndex = branch.length - 1;
761
+ const { leaves } = branch[lastIndex];
762
+ bool = this._matchLeaves(leaves, node, opt);
763
+ if (bool && lastIndex > 0) {
764
+ let nextNodes = new Set([node]);
765
+ for (let j = lastIndex - 1; j >= 0; j--) {
766
+ const twig = branch[j];
767
+ const arr = [];
768
+ opt.dir = DIR_PREV;
769
+ for (const nextNode of nextNodes) {
770
+ this._collectCombinatorMatches(twig, nextNode, opt, arr);
771
+ }
772
+ if (arr.length) {
773
+ if (j === 0) {
774
+ bool = true;
775
+ } else {
776
+ nextNodes = new Set(arr);
777
+ }
778
+ } else {
779
+ bool = false;
780
+ break;
781
+ }
782
+ }
783
+ }
784
+ if (bool) {
785
+ break;
786
+ }
787
+ }
788
+ if (astName === 'not') {
789
+ if (bool) {
790
+ return null;
791
+ }
792
+ return node;
793
+ } else if (bool) {
794
+ return node;
795
+ }
796
+ return null;
797
+ };
798
+
799
+ /**
800
+ * Matches pseudo-class selector.
801
+ * @private
802
+ * @see https://html.spec.whatwg.org/#pseudo-classes
803
+ * @param {object} ast - The AST.
804
+ * @param {object} node - The Element node.
805
+ * @param {object} [opt] - Options.
806
+ * @param {boolean} [opt.forgive] - Ignores unknown or invalid selectors.
807
+ * @param {boolean} [opt.warn] - If true, console warnings are enabled.
808
+ * @returns {Set.<object>} A collection of matched nodes.
809
+ */
810
+ _matchPseudoClassSelector(ast, node, opt = {}) {
811
+ const { children: astChildren, name: astName } = ast;
812
+ const { localName, parentNode } = node;
813
+ const { forgive, warn = this.#warn } = opt;
814
+ const matched = new Set();
815
+ // :has(), :is(), :not(), :where()
816
+ if (Array.isArray(astChildren) && KEYS_LOGICAL.has(astName)) {
817
+ if (!astChildren.length && astName !== 'is' && astName !== 'where') {
818
+ const css = generateCSS(ast);
819
+ const msg = `Invalid selector ${css}`;
820
+ return this.onError(generateException(msg, SYNTAX_ERR, this.#window));
821
+ }
822
+ let astData;
823
+ if (this.#astCache.has(ast)) {
824
+ astData = this.#astCache.get(ast);
825
+ } else {
826
+ const { branches } = walkAST(ast);
827
+ if (astName === 'has') {
828
+ // Check for nested :has().
829
+ let forgiven = false;
830
+ const l = astChildren.length;
831
+ for (let i = 0; i < l; i++) {
832
+ const child = astChildren[i];
833
+ const item = findAST(child, findLogicalWithNestedHas);
834
+ if (item) {
835
+ const itemName = item.name;
836
+ if (itemName === 'is' || itemName === 'where') {
837
+ forgiven = true;
838
+ break;
839
+ } else {
840
+ const css = generateCSS(ast);
841
+ const msg = `Invalid selector ${css}`;
842
+ return this.onError(
843
+ generateException(msg, SYNTAX_ERR, this.#window)
844
+ );
845
+ }
846
+ }
847
+ }
848
+ if (forgiven) {
849
+ return matched;
850
+ }
851
+ astData = {
852
+ astName,
853
+ branches
854
+ };
855
+ } else {
856
+ const twigBranches = [];
857
+ const l = branches.length;
858
+ for (let i = 0; i < l; i++) {
859
+ const [...leaves] = branches[i];
860
+ const branch = [];
861
+ const leavesSet = new Set();
862
+ let item = leaves.shift();
863
+ while (item) {
864
+ if (item.type === COMBINATOR) {
865
+ branch.push({
866
+ combo: item,
867
+ leaves: [...leavesSet]
868
+ });
869
+ leavesSet.clear();
870
+ } else if (item) {
871
+ leavesSet.add(item);
872
+ }
873
+ if (leaves.length) {
874
+ item = leaves.shift();
875
+ } else {
876
+ branch.push({
877
+ combo: null,
878
+ leaves: [...leavesSet]
879
+ });
880
+ leavesSet.clear();
881
+ break;
882
+ }
883
+ }
884
+ twigBranches.push(branch);
885
+ }
886
+ astData = {
887
+ astName,
888
+ branches,
889
+ twigBranches
890
+ };
891
+ this.#astCache.set(ast, astData);
892
+ }
893
+ }
894
+ const res = this._matchLogicalPseudoFunc(astData, node, opt);
895
+ if (res) {
896
+ matched.add(res);
897
+ }
898
+ } else if (Array.isArray(astChildren)) {
899
+ // :nth-child(), :nth-last-child(), nth-of-type(), :nth-last-of-type()
900
+ if (/^nth-(?:last-)?(?:child|of-type)$/.test(astName)) {
901
+ if (astChildren.length !== 1) {
902
+ const css = generateCSS(ast);
903
+ return this.onError(
904
+ generateException(
905
+ `Invalid selector ${css}`,
906
+ SYNTAX_ERR,
907
+ this.#window
908
+ )
909
+ );
910
+ }
911
+ const [branch] = astChildren;
912
+ const nodes = this._matchAnPlusB(branch, node, astName, opt);
913
+ return nodes;
914
+ } else {
915
+ switch (astName) {
916
+ // :dir()
917
+ case 'dir': {
918
+ if (astChildren.length !== 1) {
919
+ const css = generateCSS(ast);
920
+ return this.onError(
921
+ generateException(
922
+ `Invalid selector ${css}`,
923
+ SYNTAX_ERR,
924
+ this.#window
925
+ )
926
+ );
927
+ }
928
+ const [astChild] = astChildren;
929
+ const res = matchDirectionPseudoClass(astChild, node);
930
+ if (res) {
931
+ matched.add(node);
932
+ }
933
+ break;
934
+ }
935
+ // :lang()
936
+ case 'lang': {
937
+ if (!astChildren.length) {
938
+ const css = generateCSS(ast);
939
+ return this.onError(
940
+ generateException(
941
+ `Invalid selector ${css}`,
942
+ SYNTAX_ERR,
943
+ this.#window
944
+ )
945
+ );
946
+ }
947
+ let bool;
948
+ for (const astChild of astChildren) {
949
+ bool = matchLanguagePseudoClass(astChild, node);
950
+ if (bool) {
951
+ break;
952
+ }
953
+ }
954
+ if (bool) {
955
+ matched.add(node);
956
+ }
957
+ break;
958
+ }
959
+ // :state()
960
+ case 'state': {
961
+ if (isCustomElement(node)) {
962
+ const [{ value: stateValue }] = astChildren;
963
+ if (stateValue) {
964
+ if (node[stateValue]) {
965
+ matched.add(node);
966
+ } else {
967
+ for (const i in node) {
968
+ const prop = node[i];
969
+ if (prop instanceof this.#window.ElementInternals) {
970
+ if (prop?.states?.has(stateValue)) {
971
+ matched.add(node);
972
+ }
973
+ break;
974
+ }
975
+ }
976
+ }
977
+ }
978
+ }
979
+ break;
980
+ }
981
+ case 'current':
982
+ case 'heading':
983
+ case 'nth-col':
984
+ case 'nth-last-col': {
985
+ if (warn) {
986
+ this.onError(
987
+ generateException(
988
+ `Unsupported pseudo-class :${astName}()`,
989
+ NOT_SUPPORTED_ERR,
990
+ this.#window
991
+ )
992
+ );
993
+ }
994
+ break;
995
+ }
996
+ // Ignore :host() and :host-context().
997
+ case 'host':
998
+ case 'host-context': {
999
+ break;
1000
+ }
1001
+ // Deprecated in CSS Selectors 3.
1002
+ case 'contains': {
1003
+ if (warn) {
1004
+ this.onError(
1005
+ generateException(
1006
+ `Unknown pseudo-class :${astName}()`,
1007
+ NOT_SUPPORTED_ERR,
1008
+ this.#window
1009
+ )
1010
+ );
1011
+ }
1012
+ break;
1013
+ }
1014
+ default: {
1015
+ if (!forgive) {
1016
+ this.onError(
1017
+ generateException(
1018
+ `Unknown pseudo-class :${astName}()`,
1019
+ SYNTAX_ERR,
1020
+ this.#window
1021
+ )
1022
+ );
1023
+ }
1024
+ }
1025
+ }
1026
+ }
1027
+ } else if (KEYS_PS_NTH_OF_TYPE.has(astName)) {
1028
+ if (node === this.#root) {
1029
+ matched.add(node);
1030
+ } else if (parentNode) {
1031
+ switch (astName) {
1032
+ case 'first-of-type': {
1033
+ const [node1] = this._collectNthOfType(
1034
+ {
1035
+ a: 0,
1036
+ b: 1
1037
+ },
1038
+ node
1039
+ );
1040
+ if (node1) {
1041
+ matched.add(node1);
1042
+ }
1043
+ break;
1044
+ }
1045
+ case 'last-of-type': {
1046
+ const [node1] = this._collectNthOfType(
1047
+ {
1048
+ a: 0,
1049
+ b: 1,
1050
+ reverse: true
1051
+ },
1052
+ node
1053
+ );
1054
+ if (node1) {
1055
+ matched.add(node1);
1056
+ }
1057
+ break;
1058
+ }
1059
+ // 'only-of-type' is handled by default.
1060
+ default: {
1061
+ const [node1] = this._collectNthOfType(
1062
+ {
1063
+ a: 0,
1064
+ b: 1
1065
+ },
1066
+ node
1067
+ );
1068
+ if (node1 === node) {
1069
+ const [node2] = this._collectNthOfType(
1070
+ {
1071
+ a: 0,
1072
+ b: 1,
1073
+ reverse: true
1074
+ },
1075
+ node
1076
+ );
1077
+ if (node2 === node) {
1078
+ matched.add(node);
1079
+ }
1080
+ }
1081
+ }
1082
+ }
1083
+ }
1084
+ } else {
1085
+ switch (astName) {
1086
+ case 'disabled':
1087
+ case 'enabled': {
1088
+ const isMatch = matchDisabledPseudoClass(astName, node);
1089
+ if (isMatch) {
1090
+ matched.add(node);
1091
+ }
1092
+ break;
1093
+ }
1094
+ case 'read-only':
1095
+ case 'read-write': {
1096
+ const isMatch = matchReadOnlyPseudoClass(astName, node);
1097
+ if (isMatch) {
1098
+ matched.add(node);
1099
+ }
1100
+ break;
1101
+ }
1102
+ case 'any-link':
1103
+ case 'link': {
1104
+ if (
1105
+ (localName === 'a' || localName === 'area') &&
1106
+ node.hasAttribute('href')
1107
+ ) {
1108
+ matched.add(node);
1109
+ }
1110
+ break;
1111
+ }
1112
+ case 'local-link': {
1113
+ if (
1114
+ (localName === 'a' || localName === 'area') &&
1115
+ node.hasAttribute('href')
1116
+ ) {
1117
+ if (!this.#documentURL) {
1118
+ this.#documentURL = new URL(this.#document.URL);
1119
+ }
1120
+ const { href, origin, pathname } = this.#documentURL;
1121
+ const attrURL = new URL(node.getAttribute('href'), href);
1122
+ if (attrURL.origin === origin && attrURL.pathname === pathname) {
1123
+ matched.add(node);
1124
+ }
1125
+ }
1126
+ break;
1127
+ }
1128
+ case 'visited': {
1129
+ // prevent fingerprinting
1130
+ break;
1131
+ }
1132
+ case 'hover': {
1133
+ const { target, type } = this.#event ?? {};
1134
+ if (
1135
+ /^(?:click|mouse(?:down|over|up))$/.test(type) &&
1136
+ target?.nodeType === ELEMENT_NODE &&
1137
+ node.contains(target)
1138
+ ) {
1139
+ matched.add(node);
1140
+ }
1141
+ break;
1142
+ }
1143
+ case 'active': {
1144
+ const { buttons, target, type } = this.#event ?? {};
1145
+ if (
1146
+ type === 'mousedown' &&
1147
+ buttons & 1 &&
1148
+ target?.nodeType === ELEMENT_NODE &&
1149
+ node.contains(target)
1150
+ ) {
1151
+ matched.add(node);
1152
+ }
1153
+ break;
1154
+ }
1155
+ case 'target': {
1156
+ if (!this.#documentURL) {
1157
+ this.#documentURL = new URL(this.#document.URL);
1158
+ }
1159
+ const { hash } = this.#documentURL;
1160
+ if (
1161
+ node.id &&
1162
+ hash === `#${node.id}` &&
1163
+ this.#document.contains(node)
1164
+ ) {
1165
+ matched.add(node);
1166
+ }
1167
+ break;
1168
+ }
1169
+ case 'target-within': {
1170
+ if (!this.#documentURL) {
1171
+ this.#documentURL = new URL(this.#document.URL);
1172
+ }
1173
+ const { hash } = this.#documentURL;
1174
+ if (hash) {
1175
+ const id = hash.replace(/^#/, '');
1176
+ let current = this.#document.getElementById(id);
1177
+ while (current) {
1178
+ if (current === node) {
1179
+ matched.add(node);
1180
+ break;
1181
+ }
1182
+ current = current.parentNode;
1183
+ }
1184
+ }
1185
+ break;
1186
+ }
1187
+ case 'scope': {
1188
+ if (this.#node.nodeType === ELEMENT_NODE) {
1189
+ if (!this.#shadow && node === this.#node) {
1190
+ matched.add(node);
1191
+ }
1192
+ } else if (node === this.#document.documentElement) {
1193
+ matched.add(node);
1194
+ }
1195
+ break;
1196
+ }
1197
+ case 'focus': {
1198
+ const activeElement = this.#document.activeElement;
1199
+ if (node === activeElement && isFocusableArea(node)) {
1200
+ matched.add(node);
1201
+ } else if (activeElement.shadowRoot) {
1202
+ const activeShadowElement = activeElement.shadowRoot.activeElement;
1203
+ let current = activeShadowElement;
1204
+ while (current) {
1205
+ if (current.nodeType === DOCUMENT_FRAGMENT_NODE) {
1206
+ const { host } = current;
1207
+ if (host === activeElement) {
1208
+ if (isFocusableArea(node)) {
1209
+ matched.add(node);
1210
+ } else {
1211
+ matched.add(host);
1212
+ }
1213
+ }
1214
+ break;
1215
+ } else {
1216
+ current = current.parentNode;
1217
+ }
1218
+ }
1219
+ }
1220
+ break;
1221
+ }
1222
+ case 'focus-visible': {
1223
+ if (node === this.#document.activeElement && isFocusableArea(node)) {
1224
+ let bool;
1225
+ if (isFocusVisible(node)) {
1226
+ bool = true;
1227
+ } else if (this.#focus) {
1228
+ const { relatedTarget, target: focusTarget } = this.#focus;
1229
+ if (focusTarget === node) {
1230
+ if (isFocusVisible(relatedTarget)) {
1231
+ bool = true;
1232
+ } else if (this.#event) {
1233
+ const {
1234
+ altKey: eventAltKey,
1235
+ ctrlKey: eventCtrlKey,
1236
+ key: eventKey,
1237
+ metaKey: eventMetaKey,
1238
+ target: eventTarget,
1239
+ type: eventType
1240
+ } = this.#event;
1241
+ // this.#event is irrelevant if eventTarget === relatedTarget
1242
+ if (eventTarget === relatedTarget) {
1243
+ if (this.#lastFocusVisible === null) {
1244
+ bool = true;
1245
+ } else if (focusTarget === this.#lastFocusVisible) {
1246
+ bool = true;
1247
+ }
1248
+ } else if (eventKey === 'Tab') {
1249
+ if (
1250
+ (eventType === 'keydown' && eventTarget !== node) ||
1251
+ (eventType === 'keyup' && eventTarget === node)
1252
+ ) {
1253
+ if (eventTarget === focusTarget) {
1254
+ if (this.#lastFocusVisible === null) {
1255
+ bool = true;
1256
+ } else if (
1257
+ eventTarget === this.#lastFocusVisible &&
1258
+ relatedTarget === null
1259
+ ) {
1260
+ bool = true;
1261
+ }
1262
+ } else {
1263
+ bool = true;
1264
+ }
1265
+ }
1266
+ } else if (eventKey) {
1267
+ if (
1268
+ (eventType === 'keydown' || eventType === 'keyup') &&
1269
+ !eventAltKey &&
1270
+ !eventCtrlKey &&
1271
+ !eventMetaKey &&
1272
+ eventTarget === node
1273
+ ) {
1274
+ bool = true;
1275
+ }
1276
+ }
1277
+ } else if (
1278
+ relatedTarget === null ||
1279
+ relatedTarget === this.#lastFocusVisible
1280
+ ) {
1281
+ bool = true;
1282
+ }
1283
+ }
1284
+ }
1285
+ if (bool) {
1286
+ this.#lastFocusVisible = node;
1287
+ matched.add(node);
1288
+ } else if (this.#lastFocusVisible === node) {
1289
+ this.#lastFocusVisible = null;
1290
+ }
1291
+ }
1292
+ break;
1293
+ }
1294
+ case 'focus-within': {
1295
+ const activeElement = this.#document.activeElement;
1296
+ if (node.contains(activeElement) && isFocusableArea(activeElement)) {
1297
+ matched.add(node);
1298
+ } else if (activeElement.shadowRoot) {
1299
+ const activeShadowElement = activeElement.shadowRoot.activeElement;
1300
+ if (node.contains(activeShadowElement)) {
1301
+ matched.add(node);
1302
+ } else {
1303
+ let current = activeShadowElement;
1304
+ while (current) {
1305
+ if (current.nodeType === DOCUMENT_FRAGMENT_NODE) {
1306
+ const { host } = current;
1307
+ if (host === activeElement && node.contains(host)) {
1308
+ matched.add(node);
1309
+ }
1310
+ break;
1311
+ } else {
1312
+ current = current.parentNode;
1313
+ }
1314
+ }
1315
+ }
1316
+ }
1317
+ break;
1318
+ }
1319
+ case 'open':
1320
+ case 'closed': {
1321
+ if (localName === 'details' || localName === 'dialog') {
1322
+ if (node.hasAttribute('open')) {
1323
+ if (astName === 'open') {
1324
+ matched.add(node);
1325
+ }
1326
+ } else if (astName === 'closed') {
1327
+ matched.add(node);
1328
+ }
1329
+ }
1330
+ break;
1331
+ }
1332
+ case 'placeholder-shown': {
1333
+ let placeholder;
1334
+ if (node.placeholder) {
1335
+ placeholder = node.placeholder;
1336
+ } else if (node.hasAttribute('placeholder')) {
1337
+ placeholder = node.getAttribute('placeholder');
1338
+ }
1339
+ if (typeof placeholder === 'string' && !/[\r\n]/.test(placeholder)) {
1340
+ let targetNode;
1341
+ if (localName === 'textarea') {
1342
+ targetNode = node;
1343
+ } else if (localName === 'input') {
1344
+ if (node.hasAttribute('type')) {
1345
+ if (KEYS_INPUT_PLACEHOLDER.has(node.getAttribute('type'))) {
1346
+ targetNode = node;
1347
+ }
1348
+ } else {
1349
+ targetNode = node;
1350
+ }
1351
+ }
1352
+ if (targetNode && node.value === '') {
1353
+ matched.add(node);
1354
+ }
1355
+ }
1356
+ break;
1357
+ }
1358
+ case 'checked': {
1359
+ const attrType = node.getAttribute('type');
1360
+ if (
1361
+ (node.checked &&
1362
+ localName === 'input' &&
1363
+ (attrType === 'checkbox' || attrType === 'radio')) ||
1364
+ (node.selected && localName === 'option')
1365
+ ) {
1366
+ matched.add(node);
1367
+ }
1368
+ break;
1369
+ }
1370
+ case 'indeterminate': {
1371
+ if (
1372
+ (node.indeterminate &&
1373
+ localName === 'input' &&
1374
+ node.type === 'checkbox') ||
1375
+ (localName === 'progress' && !node.hasAttribute('value'))
1376
+ ) {
1377
+ matched.add(node);
1378
+ } else if (
1379
+ localName === 'input' &&
1380
+ node.type === 'radio' &&
1381
+ !node.hasAttribute('checked')
1382
+ ) {
1383
+ const nodeName = node.name;
1384
+ let parent = node.parentNode;
1385
+ while (parent) {
1386
+ if (parent.localName === 'form') {
1387
+ break;
1388
+ }
1389
+ parent = parent.parentNode;
1390
+ }
1391
+ if (!parent) {
1392
+ parent = this.#document.documentElement;
1393
+ }
1394
+ const walker = this._createTreeWalker(parent);
1395
+ let refNode = traverseNode(parent, walker);
1396
+ refNode = walker.firstChild();
1397
+ let checked;
1398
+ while (refNode) {
1399
+ if (
1400
+ refNode.localName === 'input' &&
1401
+ refNode.getAttribute('type') === 'radio'
1402
+ ) {
1403
+ if (refNode.hasAttribute('name')) {
1404
+ if (refNode.getAttribute('name') === nodeName) {
1405
+ checked = !!refNode.checked;
1406
+ }
1407
+ } else {
1408
+ checked = !!refNode.checked;
1409
+ }
1410
+ if (checked) {
1411
+ break;
1412
+ }
1413
+ }
1414
+ refNode = walker.nextNode();
1415
+ }
1416
+ if (!checked) {
1417
+ matched.add(node);
1418
+ }
1419
+ }
1420
+ break;
1421
+ }
1422
+ case 'default': {
1423
+ // button[type="submit"], input[type="submit"], input[type="image"]
1424
+ const attrType = node.getAttribute('type');
1425
+ if (
1426
+ (localName === 'button' &&
1427
+ !(node.hasAttribute('type') && KEYS_INPUT_RESET.has(attrType))) ||
1428
+ (localName === 'input' &&
1429
+ node.hasAttribute('type') &&
1430
+ KEYS_INPUT_SUBMIT.has(attrType))
1431
+ ) {
1432
+ let form = node.parentNode;
1433
+ while (form) {
1434
+ if (form.localName === 'form') {
1435
+ break;
1436
+ }
1437
+ form = form.parentNode;
1438
+ }
1439
+ if (form) {
1440
+ const walker = this._createTreeWalker(form);
1441
+ let refNode = traverseNode(form, walker);
1442
+ refNode = walker.firstChild();
1443
+ while (refNode) {
1444
+ const nodeName = refNode.localName;
1445
+ const nodeAttrType = refNode.getAttribute('type');
1446
+ let m;
1447
+ if (nodeName === 'button') {
1448
+ m = !(
1449
+ refNode.hasAttribute('type') &&
1450
+ KEYS_INPUT_RESET.has(nodeAttrType)
1451
+ );
1452
+ } else if (nodeName === 'input') {
1453
+ m =
1454
+ refNode.hasAttribute('type') &&
1455
+ KEYS_INPUT_SUBMIT.has(nodeAttrType);
1456
+ }
1457
+ if (m) {
1458
+ if (refNode === node) {
1459
+ matched.add(node);
1460
+ }
1461
+ break;
1462
+ }
1463
+ refNode = walker.nextNode();
1464
+ }
1465
+ }
1466
+ // input[type="checkbox"], input[type="radio"]
1467
+ } else if (
1468
+ localName === 'input' &&
1469
+ node.hasAttribute('type') &&
1470
+ node.hasAttribute('checked') &&
1471
+ KEYS_INPUT_CHECK.has(attrType)
1472
+ ) {
1473
+ matched.add(node);
1474
+ // option
1475
+ } else if (localName === 'option' && node.hasAttribute('selected')) {
1476
+ matched.add(node);
1477
+ }
1478
+ break;
1479
+ }
1480
+ case 'valid':
1481
+ case 'invalid': {
1482
+ if (KEYS_FORM_PS_VALID.has(localName)) {
1483
+ let valid;
1484
+ if (node.checkValidity()) {
1485
+ if (node.maxLength >= 0) {
1486
+ if (node.maxLength >= node.value.length) {
1487
+ valid = true;
1488
+ }
1489
+ } else {
1490
+ valid = true;
1491
+ }
1492
+ }
1493
+ if (valid) {
1494
+ if (astName === 'valid') {
1495
+ matched.add(node);
1496
+ }
1497
+ } else if (astName === 'invalid') {
1498
+ matched.add(node);
1499
+ }
1500
+ } else if (localName === 'fieldset') {
1501
+ const walker = this._createTreeWalker(node);
1502
+ let refNode = traverseNode(node, walker);
1503
+ refNode = walker.firstChild();
1504
+ let valid;
1505
+ if (!refNode) {
1506
+ valid = true;
1507
+ } else {
1508
+ while (refNode) {
1509
+ if (KEYS_FORM_PS_VALID.has(refNode.localName)) {
1510
+ if (refNode.checkValidity()) {
1511
+ if (refNode.maxLength >= 0) {
1512
+ valid = refNode.maxLength >= refNode.value.length;
1513
+ } else {
1514
+ valid = true;
1515
+ }
1516
+ } else {
1517
+ valid = false;
1518
+ }
1519
+ if (!valid) {
1520
+ break;
1521
+ }
1522
+ }
1523
+ refNode = walker.nextNode();
1524
+ }
1525
+ }
1526
+ if (valid) {
1527
+ if (astName === 'valid') {
1528
+ matched.add(node);
1529
+ }
1530
+ } else if (astName === 'invalid') {
1531
+ matched.add(node);
1532
+ }
1533
+ }
1534
+ break;
1535
+ }
1536
+ case 'in-range':
1537
+ case 'out-of-range': {
1538
+ const attrType = node.getAttribute('type');
1539
+ if (
1540
+ localName === 'input' &&
1541
+ !(node.readOnly || node.hasAttribute('readonly')) &&
1542
+ !(node.disabled || node.hasAttribute('disabled')) &&
1543
+ KEYS_INPUT_RANGE.has(attrType)
1544
+ ) {
1545
+ const flowed =
1546
+ node.validity.rangeUnderflow || node.validity.rangeOverflow;
1547
+ if (astName === 'out-of-range' && flowed) {
1548
+ matched.add(node);
1549
+ } else if (
1550
+ astName === 'in-range' &&
1551
+ !flowed &&
1552
+ (node.hasAttribute('min') ||
1553
+ node.hasAttribute('max') ||
1554
+ attrType === 'range')
1555
+ ) {
1556
+ matched.add(node);
1557
+ }
1558
+ }
1559
+ break;
1560
+ }
1561
+ case 'required':
1562
+ case 'optional': {
1563
+ let required;
1564
+ let optional;
1565
+ if (localName === 'select' || localName === 'textarea') {
1566
+ if (node.required || node.hasAttribute('required')) {
1567
+ required = true;
1568
+ } else {
1569
+ optional = true;
1570
+ }
1571
+ } else if (localName === 'input') {
1572
+ if (node.hasAttribute('type')) {
1573
+ const attrType = node.getAttribute('type');
1574
+ if (KEYS_INPUT_REQUIRED.has(attrType)) {
1575
+ if (node.required || node.hasAttribute('required')) {
1576
+ required = true;
1577
+ } else {
1578
+ optional = true;
1579
+ }
1580
+ } else {
1581
+ optional = true;
1582
+ }
1583
+ } else if (node.required || node.hasAttribute('required')) {
1584
+ required = true;
1585
+ } else {
1586
+ optional = true;
1587
+ }
1588
+ }
1589
+ if (astName === 'required' && required) {
1590
+ matched.add(node);
1591
+ } else if (astName === 'optional' && optional) {
1592
+ matched.add(node);
1593
+ }
1594
+ break;
1595
+ }
1596
+ case 'root': {
1597
+ if (node === this.#document.documentElement) {
1598
+ matched.add(node);
1599
+ }
1600
+ break;
1601
+ }
1602
+ case 'empty': {
1603
+ if (node.hasChildNodes()) {
1604
+ const walker = this._createTreeWalker(node, {
1605
+ force: true,
1606
+ whatToShow: SHOW_ALL
1607
+ });
1608
+ let refNode = walker.firstChild();
1609
+ let bool;
1610
+ while (refNode) {
1611
+ bool =
1612
+ refNode.nodeType !== ELEMENT_NODE &&
1613
+ refNode.nodeType !== TEXT_NODE;
1614
+ if (!bool) {
1615
+ break;
1616
+ }
1617
+ refNode = walker.nextSibling();
1618
+ }
1619
+ if (bool) {
1620
+ matched.add(node);
1621
+ }
1622
+ } else {
1623
+ matched.add(node);
1624
+ }
1625
+ break;
1626
+ }
1627
+ case 'first-child': {
1628
+ if (
1629
+ (parentNode && node === parentNode.firstElementChild) ||
1630
+ node === this.#root
1631
+ ) {
1632
+ matched.add(node);
1633
+ }
1634
+ break;
1635
+ }
1636
+ case 'last-child': {
1637
+ if (
1638
+ (parentNode && node === parentNode.lastElementChild) ||
1639
+ node === this.#root
1640
+ ) {
1641
+ matched.add(node);
1642
+ }
1643
+ break;
1644
+ }
1645
+ case 'only-child': {
1646
+ if (
1647
+ (parentNode &&
1648
+ node === parentNode.firstElementChild &&
1649
+ node === parentNode.lastElementChild) ||
1650
+ node === this.#root
1651
+ ) {
1652
+ matched.add(node);
1653
+ }
1654
+ break;
1655
+ }
1656
+ case 'defined': {
1657
+ if (node.hasAttribute('is') || localName.includes('-')) {
1658
+ if (isCustomElement(node)) {
1659
+ matched.add(node);
1660
+ }
1661
+ // NOTE: MathMLElement is not implemented in jsdom.
1662
+ } else if (
1663
+ node instanceof this.#window.HTMLElement ||
1664
+ node instanceof this.#window.SVGElement
1665
+ ) {
1666
+ matched.add(node);
1667
+ }
1668
+ break;
1669
+ }
1670
+ case 'popover-open': {
1671
+ // FIXME: not implemented in jsdom
1672
+ // @see https://github.com/jsdom/jsdom/issues/3721
1673
+ /*
1674
+ if (node.popover && isVisible(node)) {
1675
+ matched.add(node);
1676
+ }
1677
+ */
1678
+ break;
1679
+ }
1680
+ // Ignore :host.
1681
+ case 'host': {
1682
+ break;
1683
+ }
1684
+ // Legacy pseudo-elements.
1685
+ case 'after':
1686
+ case 'before':
1687
+ case 'first-letter':
1688
+ case 'first-line': {
1689
+ if (warn) {
1690
+ this.onError(
1691
+ generateException(
1692
+ `Unsupported pseudo-element ::${astName}`,
1693
+ NOT_SUPPORTED_ERR,
1694
+ this.#window
1695
+ )
1696
+ );
1697
+ }
1698
+ break;
1699
+ }
1700
+ // Not supported.
1701
+ case 'autofill':
1702
+ case 'blank':
1703
+ case 'buffering':
1704
+ case 'current':
1705
+ case 'fullscreen':
1706
+ case 'future':
1707
+ case 'has-slotted':
1708
+ case 'heading':
1709
+ case 'modal':
1710
+ case 'muted':
1711
+ case 'past':
1712
+ case 'paused':
1713
+ case 'picture-in-picture':
1714
+ case 'playing':
1715
+ case 'seeking':
1716
+ case 'stalled':
1717
+ case 'user-invalid':
1718
+ case 'user-valid':
1719
+ case 'volume-locked':
1720
+ case '-webkit-autofill': {
1721
+ if (warn) {
1722
+ this.onError(
1723
+ generateException(
1724
+ `Unsupported pseudo-class :${astName}`,
1725
+ NOT_SUPPORTED_ERR,
1726
+ this.#window
1727
+ )
1728
+ );
1729
+ }
1730
+ break;
1731
+ }
1732
+ default: {
1733
+ if (astName.startsWith('-webkit-')) {
1734
+ if (warn) {
1735
+ this.onError(
1736
+ generateException(
1737
+ `Unsupported pseudo-class :${astName}`,
1738
+ NOT_SUPPORTED_ERR,
1739
+ this.#window
1740
+ )
1741
+ );
1742
+ }
1743
+ } else if (!forgive) {
1744
+ this.onError(
1745
+ generateException(
1746
+ `Unknown pseudo-class :${astName}`,
1747
+ SYNTAX_ERR,
1748
+ this.#window
1749
+ )
1750
+ );
1751
+ }
1752
+ }
1753
+ }
1754
+ }
1755
+ return matched;
1756
+ }
1757
+
1758
+ /**
1759
+ * Evaluates the :host() pseudo-class.
1760
+ * @private
1761
+ * @param {Array.<object>} leaves - The AST leaves.
1762
+ * @param {object} host - The host element.
1763
+ * @param {object} ast - The original AST for error reporting.
1764
+ * @returns {boolean} True if matched.
1765
+ */
1766
+ _evaluateHostPseudo = (leaves, host, ast) => {
1767
+ const l = leaves.length;
1768
+ for (let i = 0; i < l; i++) {
1769
+ const leaf = leaves[i];
1770
+ if (leaf.type === COMBINATOR) {
1771
+ const css = generateCSS(ast);
1772
+ const msg = `Invalid selector ${css}`;
1773
+ this.onError(generateException(msg, SYNTAX_ERR, this.#window));
1774
+ return false;
1775
+ }
1776
+ if (!this._matchSelector(leaf, host).has(host)) {
1777
+ return false;
1778
+ }
1779
+ }
1780
+ return true;
1781
+ };
1782
+
1783
+ /**
1784
+ * Evaluates the :host-context() pseudo-class.
1785
+ * @private
1786
+ * @param {Array.<object>} leaves - The AST leaves.
1787
+ * @param {object} host - The host element.
1788
+ * @param {object} ast - The original AST for error reporting.
1789
+ * @returns {boolean} True if matched.
1790
+ */
1791
+ _evaluateHostContextPseudo = (leaves, host, ast) => {
1792
+ let parent = host;
1793
+ while (parent) {
1794
+ let bool;
1795
+ const l = leaves.length;
1796
+ for (let i = 0; i < l; i++) {
1797
+ const leaf = leaves[i];
1798
+ if (leaf.type === COMBINATOR) {
1799
+ const css = generateCSS(ast);
1800
+ const msg = `Invalid selector ${css}`;
1801
+ this.onError(generateException(msg, SYNTAX_ERR, this.#window));
1802
+ return false;
1803
+ }
1804
+ bool = this._matchSelector(leaf, parent).has(parent);
1805
+ if (!bool) {
1806
+ break;
1807
+ }
1808
+ }
1809
+ if (bool) {
1810
+ return true;
1811
+ }
1812
+ parent = parent.parentNode;
1813
+ }
1814
+ return false;
1815
+ };
1816
+
1817
+ /**
1818
+ * Matches shadow host pseudo-classes.
1819
+ * @private
1820
+ * @param {object} ast - The AST.
1821
+ * @param {object} node - The DocumentFragment node.
1822
+ * @returns {?object} The matched node.
1823
+ */
1824
+ _matchShadowHostPseudoClass = (ast, node) => {
1825
+ const { children: astChildren, name: astName } = ast;
1826
+ // Handle simple pseudo-class (no arguments).
1827
+ if (!Array.isArray(astChildren)) {
1828
+ if (astName === 'host') {
1829
+ return node;
1830
+ }
1831
+ const msg = `Invalid selector :${astName}`;
1832
+ return this.onError(generateException(msg, SYNTAX_ERR, this.#window));
1833
+ }
1834
+ // Handle functional pseudo-class like :host(...).
1835
+ if (astName !== 'host' && astName !== 'host-context') {
1836
+ const msg = `Invalid selector :${astName}()`;
1837
+ return this.onError(generateException(msg, SYNTAX_ERR, this.#window));
1838
+ }
1839
+ if (astChildren.length !== 1) {
1840
+ const css = generateCSS(ast);
1841
+ const msg = `Invalid selector ${css}`;
1842
+ return this.onError(generateException(msg, SYNTAX_ERR, this.#window));
1843
+ }
1844
+ const { host } = node;
1845
+ const { branches } = walkAST(astChildren[0]);
1846
+ const [branch] = branches;
1847
+ const [...leaves] = branch;
1848
+ let isMatch = false;
1849
+ if (astName === 'host') {
1850
+ isMatch = this._evaluateHostPseudo(leaves, host, ast);
1851
+ // astName === 'host-context'.
1852
+ } else {
1853
+ isMatch = this._evaluateHostContextPseudo(leaves, host, ast);
1854
+ }
1855
+ return isMatch ? node : null;
1856
+ };
1857
+
1858
+ /**
1859
+ * Matches a selector for element nodes.
1860
+ * @private
1861
+ * @param {object} ast - The AST.
1862
+ * @param {object} node - The Element node.
1863
+ * @param {object} opt - Options.
1864
+ * @returns {Set.<object>} A collection of matched nodes.
1865
+ */
1866
+ _matchSelectorForElement = (ast, node, opt) => {
1867
+ const { type: astType } = ast;
1868
+ const astName = unescapeSelector(ast.name);
1869
+ const matched = new Set();
1870
+ switch (astType) {
1871
+ case ATTR_SELECTOR: {
1872
+ if (matchAttributeSelector(ast, node, opt)) {
1873
+ matched.add(node);
1874
+ }
1875
+ break;
1876
+ }
1877
+ case ID_SELECTOR: {
1878
+ if (node.id === astName) {
1879
+ matched.add(node);
1880
+ }
1881
+ break;
1882
+ }
1883
+ case CLASS_SELECTOR: {
1884
+ if (node.classList.contains(astName)) {
1885
+ matched.add(node);
1886
+ }
1887
+ break;
1888
+ }
1889
+ case PS_CLASS_SELECTOR: {
1890
+ return this._matchPseudoClassSelector(ast, node, opt);
1891
+ }
1892
+ case TYPE_SELECTOR: {
1893
+ if (matchTypeSelector(ast, node, opt)) {
1894
+ matched.add(node);
1895
+ }
1896
+ break;
1897
+ }
1898
+ // PS_ELEMENT_SELECTOR is handled by default.
1899
+ default: {
1900
+ try {
1901
+ if (this.#check) {
1902
+ const css = generateCSS(ast);
1903
+ this.#pseudoElement.push(css);
1904
+ matched.add(node);
1905
+ } else {
1906
+ matchPseudoElementSelector(astName, astType, opt);
1907
+ }
1908
+ } catch (e) {
1909
+ this.onError(e);
1910
+ }
1911
+ }
1912
+ }
1913
+ return matched;
1914
+ };
1915
+
1916
+ /**
1917
+ * Matches a selector for a shadow root.
1918
+ * @private
1919
+ * @param {object} ast - The AST.
1920
+ * @param {object} node - The DocumentFragment node.
1921
+ * @param {object} [opt] - Options.
1922
+ * @returns {Set.<object>} A collection of matched nodes.
1923
+ */
1924
+ _matchSelectorForShadowRoot = (ast, node, opt = {}) => {
1925
+ const { name: astName } = ast;
1926
+ if (KEYS_LOGICAL.has(astName)) {
1927
+ opt.isShadowRoot = true;
1928
+ return this._matchPseudoClassSelector(ast, node, opt);
1929
+ }
1930
+ const matched = new Set();
1931
+ if (astName === 'host' || astName === 'host-context') {
1932
+ const res = this._matchShadowHostPseudoClass(ast, node, opt);
1933
+ if (res) {
1934
+ this.#verifyShadowHost = true;
1935
+ matched.add(res);
1936
+ }
1937
+ }
1938
+ return matched;
1939
+ };
1940
+
1941
+ /**
1942
+ * Matches a selector.
1943
+ * @private
1944
+ * @param {object} ast - The AST.
1945
+ * @param {object} node - The Document, DocumentFragment, or Element node.
1946
+ * @param {object} opt - Options.
1947
+ * @returns {Set.<object>} A collection of matched nodes.
1948
+ */
1949
+ _matchSelector = (ast, node, opt) => {
1950
+ if (node.nodeType === ELEMENT_NODE) {
1951
+ return this._matchSelectorForElement(ast, node, opt);
1952
+ }
1953
+ if (
1954
+ this.#shadow &&
1955
+ node.nodeType === DOCUMENT_FRAGMENT_NODE &&
1956
+ ast.type === PS_CLASS_SELECTOR
1957
+ ) {
1958
+ return this._matchSelectorForShadowRoot(ast, node, opt);
1959
+ }
1960
+ return new Set();
1961
+ };
1962
+
1963
+ /**
1964
+ * Matches leaves.
1965
+ * @private
1966
+ * @param {Array.<object>} leaves - The AST leaves.
1967
+ * @param {object} node - The node.
1968
+ * @param {object} opt - Options.
1969
+ * @returns {boolean} The result.
1970
+ */
1971
+ _matchLeaves = (leaves, node, opt) => {
1972
+ const results = this.#invalidate ? this.#invalidateResults : this.#results;
1973
+ let result = results.get(leaves);
1974
+ if (result && result.has(node)) {
1975
+ const { matched } = result.get(node);
1976
+ return matched;
1977
+ }
1978
+ let cacheable = true;
1979
+ if (node.nodeType === ELEMENT_NODE && KEYS_FORM.has(node.localName)) {
1980
+ cacheable = false;
1981
+ }
1982
+ let bool;
1983
+ const l = leaves.length;
1984
+ for (let i = 0; i < l; i++) {
1985
+ const leaf = leaves[i];
1986
+ switch (leaf.type) {
1987
+ case ATTR_SELECTOR:
1988
+ case ID_SELECTOR: {
1989
+ cacheable = false;
1990
+ break;
1991
+ }
1992
+ case PS_CLASS_SELECTOR: {
1993
+ if (KEYS_PS_UNCACHE.has(leaf.name)) {
1994
+ cacheable = false;
1995
+ }
1996
+ break;
1997
+ }
1998
+ default: {
1999
+ // No action needed for other types.
2000
+ }
2001
+ }
2002
+ bool = this._matchSelector(leaf, node, opt).has(node);
2003
+ if (!bool) {
2004
+ break;
2005
+ }
2006
+ }
2007
+ if (cacheable) {
2008
+ if (!result) {
2009
+ result = new WeakMap();
2010
+ }
2011
+ result.set(node, {
2012
+ matched: bool
2013
+ });
2014
+ results.set(leaves, result);
2015
+ }
2016
+ return bool;
2017
+ };
2018
+
2019
+ /**
2020
+ * Returns a cached slice of the leaves array (excluding the first item).
2021
+ * @private
2022
+ * @param {Array.<object>} leaves - The original AST leaves array.
2023
+ * @returns {Array.<object>} The filtered leaves.
2024
+ */
2025
+ _getFilterLeaves = leaves => {
2026
+ if (this.#filterLeavesCache.has(leaves)) {
2027
+ return this.#filterLeavesCache.get(leaves);
2028
+ }
2029
+ const filterLeaves = leaves.slice(1);
2030
+ this.#filterLeavesCache.set(leaves, filterLeaves);
2031
+ return filterLeaves;
2032
+ };
2033
+
2034
+ /**
2035
+ * Traverses all descendant nodes and collects matches.
2036
+ * @private
2037
+ * @param {object} baseNode - The base Element node or Element.shadowRoot.
2038
+ * @param {Array.<object>} leaves - The AST leaves.
2039
+ * @param {object} opt - Options.
2040
+ * @returns {Set.<object>} A collection of matched nodes.
2041
+ */
2042
+ _traverseAllDescendants = (baseNode, leaves, opt) => {
2043
+ const walker = this._createTreeWalker(baseNode);
2044
+ traverseNode(baseNode, walker);
2045
+ let currentNode = walker.firstChild();
2046
+ const nodes = new Set();
2047
+ while (currentNode) {
2048
+ if (this._matchLeaves(leaves, currentNode, opt)) {
2049
+ nodes.add(currentNode);
2050
+ }
2051
+ currentNode = walker.nextNode();
2052
+ }
2053
+ return nodes;
2054
+ };
2055
+
2056
+ /**
2057
+ * Finds descendant nodes.
2058
+ * @private
2059
+ * @param {Array.<object>} leaves - The AST leaves.
2060
+ * @param {object} baseNode - The base Element node or Element.shadowRoot.
2061
+ * @param {object} opt - Options.
2062
+ * @returns {Set.<object>} A collection of matched nodes.
2063
+ */
2064
+ _findDescendantNodes = (leaves, baseNode, opt) => {
2065
+ const [leaf] = leaves;
2066
+ const filterLeaves = this._getFilterLeaves(leaves);
2067
+ const { type: leafType } = leaf;
2068
+ switch (leafType) {
2069
+ case ID_SELECTOR: {
2070
+ const canUseGetElementById =
2071
+ !this.#shadow &&
2072
+ baseNode.nodeType === ELEMENT_NODE &&
2073
+ this.#root.nodeType !== ELEMENT_NODE;
2074
+ if (canUseGetElementById) {
2075
+ const leafName = unescapeSelector(leaf.name);
2076
+ const nodes = new Set();
2077
+ const foundNode = this.#root.getElementById(leafName);
2078
+ if (
2079
+ foundNode &&
2080
+ foundNode !== baseNode &&
2081
+ baseNode.contains(foundNode)
2082
+ ) {
2083
+ const isCompoundSelector = filterLeaves.length > 0;
2084
+ if (
2085
+ !isCompoundSelector ||
2086
+ this._matchLeaves(filterLeaves, foundNode, opt)
2087
+ ) {
2088
+ nodes.add(foundNode);
2089
+ }
2090
+ }
2091
+ return nodes;
2092
+ }
2093
+ // Fallback to default traversal if fast path is not applicable.
2094
+ return this._traverseAllDescendants(baseNode, leaves, opt);
2095
+ }
2096
+ case PS_ELEMENT_SELECTOR: {
2097
+ const leafName = unescapeSelector(leaf.name);
2098
+ matchPseudoElementSelector(leafName, leafType, opt);
2099
+ return new Set();
2100
+ }
2101
+ default: {
2102
+ return this._traverseAllDescendants(baseNode, leaves, opt);
2103
+ }
2104
+ }
2105
+ };
2106
+
2107
+ /**
2108
+ * Collects combinator matches into an array without creating intermediate sets.
2109
+ * @private
2110
+ * @param {object} twig - The twig object.
2111
+ * @param {object} node - The Element node.
2112
+ * @param {object} [opt] - Options.
2113
+ * @param {string} [opt.dir] - The find direction.
2114
+ * @param {Array.<object>} matched - The collector array.
2115
+ * @returns {Array.<object>} The collector array.
2116
+ */
2117
+ _collectCombinatorMatches = (twig, node, opt = {}, matched = []) => {
2118
+ const {
2119
+ combo: { name: comboName },
2120
+ leaves
2121
+ } = twig;
2122
+ const { dir } = opt;
2123
+ switch (comboName) {
2124
+ case '+': {
2125
+ const refNode =
2126
+ dir === DIR_NEXT
2127
+ ? node.nextElementSibling
2128
+ : node.previousElementSibling;
2129
+ if (refNode && this._matchLeaves(leaves, refNode, opt)) {
2130
+ matched.push(refNode);
2131
+ }
2132
+ break;
2133
+ }
2134
+ case '~': {
2135
+ let refNode =
2136
+ dir === DIR_NEXT
2137
+ ? node.nextElementSibling
2138
+ : node.previousElementSibling;
2139
+ while (refNode) {
2140
+ if (this._matchLeaves(leaves, refNode, opt)) {
2141
+ matched.push(refNode);
2142
+ }
2143
+ refNode =
2144
+ dir === DIR_NEXT
2145
+ ? refNode.nextElementSibling
2146
+ : refNode.previousElementSibling;
2147
+ }
2148
+ break;
2149
+ }
2150
+ case '>': {
2151
+ if (dir === DIR_NEXT) {
2152
+ let refNode = node.firstElementChild;
2153
+ while (refNode) {
2154
+ if (this._matchLeaves(leaves, refNode, opt)) {
2155
+ matched.push(refNode);
2156
+ }
2157
+ refNode = refNode.nextElementSibling;
2158
+ }
2159
+ } else {
2160
+ const { parentNode } = node;
2161
+ if (parentNode && this._matchLeaves(leaves, parentNode, opt)) {
2162
+ matched.push(parentNode);
2163
+ }
2164
+ }
2165
+ break;
2166
+ }
2167
+ case ' ':
2168
+ default: {
2169
+ if (dir === DIR_NEXT) {
2170
+ for (const refNode of this._findDescendantNodes(leaves, node, opt)) {
2171
+ matched.push(refNode);
2172
+ }
2173
+ } else {
2174
+ const ancestors = [];
2175
+ let refNode = node.parentNode;
2176
+ while (refNode) {
2177
+ if (this._matchLeaves(leaves, refNode, opt)) {
2178
+ ancestors.push(refNode);
2179
+ }
2180
+ refNode = refNode.parentNode;
2181
+ }
2182
+ if (ancestors.length) {
2183
+ matched.push(...ancestors.reverse());
2184
+ }
2185
+ }
2186
+ }
2187
+ }
2188
+ return matched;
2189
+ };
2190
+
2191
+ /**
2192
+ * Matches a combinator.
2193
+ * @private
2194
+ * @param {object} twig - The twig object.
2195
+ * @param {object} node - The Element node.
2196
+ * @param {object} opt - Options.
2197
+ * @returns {Set.<object>} A collection of matched nodes.
2198
+ */
2199
+ _matchCombinator = (twig, node, opt) =>
2200
+ new Set(this._collectCombinatorMatches(twig, node, opt));
2201
+
2202
+ /**
2203
+ * Traverses with a TreeWalker and collects nodes matching the leaves.
2204
+ * @private
2205
+ * @param {TreeWalker} walker - The TreeWalker instance to use.
2206
+ * @param {Array} leaves - The AST leaves to match against.
2207
+ * @param {object} [opt] - Traversal options.
2208
+ * @param {Node} [opt.boundaryNode] - The node to stop traversal at.
2209
+ * @param {boolean} [opt.force] - Force traversal to the next node.
2210
+ * @param {Node} [opt.startNode] - The node to start traversal from.
2211
+ * @param {string} [opt.targetType] - The type of target ('all' or 'first').
2212
+ * @returns {Array.<Node>} An array of matched nodes.
2213
+ */
2214
+ _traverseAndCollectNodes = (walker, leaves, opt = {}) => {
2215
+ const { boundaryNode, force, startNode, targetType } = opt;
2216
+ const collectedNodes = [];
2217
+ let currentNode = traverseNode(startNode, walker, !!force);
2218
+ if (!currentNode) {
2219
+ return [];
2220
+ }
2221
+ // Adjust starting node.
2222
+ if (currentNode.nodeType !== ELEMENT_NODE) {
2223
+ currentNode = walker.nextNode();
2224
+ } else if (currentNode === startNode && currentNode !== this.#root) {
2225
+ currentNode = walker.nextNode();
2226
+ }
2227
+ const matchOpt = {
2228
+ warn: this.#warn
2229
+ };
2230
+ while (currentNode) {
2231
+ // Stop when we reach the boundary.
2232
+ if (boundaryNode) {
2233
+ if (currentNode === boundaryNode) {
2234
+ break;
2235
+ } else if (
2236
+ targetType === TARGET_ALL &&
2237
+ !boundaryNode.contains(currentNode)
2238
+ ) {
2239
+ break;
2240
+ }
2241
+ }
2242
+ if (
2243
+ this._matchLeaves(leaves, currentNode, matchOpt) &&
2244
+ currentNode !== this.#node
2245
+ ) {
2246
+ collectedNodes.push(currentNode);
2247
+ // Stop after the first match if not collecting all.
2248
+ if (targetType !== TARGET_ALL) {
2249
+ break;
2250
+ }
2251
+ }
2252
+ currentNode = walker.nextNode();
2253
+ }
2254
+ return collectedNodes;
2255
+ };
2256
+
2257
+ /**
2258
+ * Finds matched node(s) preceding this.#node.
2259
+ * @private
2260
+ * @param {Array.<object>} leaves - The AST leaves.
2261
+ * @param {object} node - The node to start from.
2262
+ * @param {object} [opt] - Options.
2263
+ * @param {boolean} [opt.force] - If true, traverses only to the next node.
2264
+ * @param {string} [opt.targetType] - The target type.
2265
+ * @returns {Array.<object>} A collection of matched nodes.
2266
+ */
2267
+ _findPrecede = (leaves, node, opt = {}) => {
2268
+ const { force, targetType } = opt;
2269
+ if (!this.#rootWalker) {
2270
+ this.#rootWalker = this._createTreeWalker(this.#root);
2271
+ }
2272
+ return this._traverseAndCollectNodes(this.#rootWalker, leaves, {
2273
+ force,
2274
+ targetType,
2275
+ boundaryNode: this.#node,
2276
+ startNode: node
2277
+ });
2278
+ };
2279
+
2280
+ /**
2281
+ * Finds matched node(s) in #nodeWalker.
2282
+ * @private
2283
+ * @param {Array.<object>} leaves - The AST leaves.
2284
+ * @param {object} node - The node to start from.
2285
+ * @param {object} [opt] - Options.
2286
+ * @param {boolean} [opt.precede] - If true, finds preceding nodes.
2287
+ * @returns {Array.<object>} A collection of matched nodes.
2288
+ */
2289
+ _findNodeWalker = (leaves, node, opt = {}) => {
2290
+ const { precede, ...traversalOpts } = opt;
2291
+ if (precede) {
2292
+ const precedeNodes = this._findPrecede(leaves, this.#root, opt);
2293
+ if (precedeNodes.length) {
2294
+ return precedeNodes;
2295
+ }
2296
+ }
2297
+ if (!this.#nodeWalker) {
2298
+ this.#nodeWalker = this._createTreeWalker(this.#node);
2299
+ }
2300
+ return this._traverseAndCollectNodes(this.#nodeWalker, leaves, {
2301
+ startNode: node,
2302
+ ...traversalOpts
2303
+ });
2304
+ };
2305
+
2306
+ /**
2307
+ * Matches the node itself.
2308
+ * @private
2309
+ * @param {Array} leaves - The AST leaves.
2310
+ * @returns {Array} An array containing [nodes, filtered, pseudoElement].
2311
+ */
2312
+ _matchSelf = leaves => {
2313
+ const matched = this._matchLeaves(leaves, this.#node, {
2314
+ check: this.#check,
2315
+ warn: this.#warn
2316
+ });
2317
+ const nodes = matched ? [this.#node] : [];
2318
+ return [nodes, matched, this.#pseudoElement];
2319
+ };
2320
+
2321
+ /**
2322
+ * Finds lineal nodes (self and ancestors).
2323
+ * @private
2324
+ * @param {Array} leaves - The AST leaves.
2325
+ * @param {object} [opt] - Options.
2326
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2327
+ * @returns {Array} An array containing [nodes, filtered].
2328
+ */
2329
+ _findLineal = (leaves, opt = {}) => {
2330
+ const { complex } = opt;
2331
+ const nodes = [];
2332
+ const matchOpts = { warn: this.#warn };
2333
+ const selfMatched = this._matchLeaves(leaves, this.#node, matchOpts);
2334
+ if (selfMatched) {
2335
+ nodes.push(this.#node);
2336
+ }
2337
+ if (!selfMatched || complex) {
2338
+ let currentNode = this.#node.parentNode;
2339
+ while (currentNode) {
2340
+ if (this._matchLeaves(leaves, currentNode, matchOpts)) {
2341
+ nodes.push(currentNode);
2342
+ }
2343
+ currentNode = currentNode.parentNode;
2344
+ }
2345
+ }
2346
+ const filtered = nodes.length > 0;
2347
+ return [nodes, filtered];
2348
+ };
2349
+
2350
+ /**
2351
+ * Finds entry nodes for pseudo-element selectors.
2352
+ * @private
2353
+ * @param {object} leaf - The pseudo-element leaf from the AST.
2354
+ * @param {Array.<object>} filterLeaves - Leaves for compound selectors.
2355
+ * @param {string} targetType - The type of target to find.
2356
+ * @returns {object} The result { nodes, filtered, pending }.
2357
+ */
2358
+ _findEntryNodesForPseudoElement = (leaf, filterLeaves, targetType) => {
2359
+ let nodes = [];
2360
+ let filtered = false;
2361
+ if (targetType === TARGET_SELF && this.#check) {
2362
+ const css = generateCSS(leaf);
2363
+ this.#pseudoElement.push(css);
2364
+ if (filterLeaves.length) {
2365
+ [nodes, filtered] = this._matchSelf(filterLeaves);
2366
+ } else {
2367
+ nodes.push(this.#node);
2368
+ filtered = true;
2369
+ }
2370
+ } else {
2371
+ matchPseudoElementSelector(leaf.name, leaf.type, { warn: this.#warn });
2372
+ }
2373
+ return { nodes, filtered, pending: false };
2374
+ };
2375
+
2376
+ /**
2377
+ * Finds entry nodes for ID selectors.
2378
+ * @private
2379
+ * @param {object} twig - The current twig from the AST branch.
2380
+ * @param {string} targetType - The type of target to find.
2381
+ * @param {object} [opt] - Options.
2382
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2383
+ * @param {boolean} [opt.precede] - If true, finds preceding nodes.
2384
+ * @returns {object} The result { nodes, filtered, pending }.
2385
+ */
2386
+ _findEntryNodesForId = (twig, targetType, opt = {}) => {
2387
+ const { leaves } = twig;
2388
+ const [leaf] = leaves;
2389
+ const filterLeaves = this._getFilterLeaves(leaves);
2390
+ const { complex, precede } = opt;
2391
+ let nodes = [];
2392
+ let filtered = false;
2393
+ if (targetType === TARGET_SELF) {
2394
+ [nodes, filtered] = this._matchSelf(leaves);
2395
+ } else if (targetType === TARGET_LINEAL) {
2396
+ [nodes, filtered] = this._findLineal(leaves, { complex });
2397
+ } else if (
2398
+ targetType === TARGET_FIRST &&
2399
+ this.#root.nodeType !== ELEMENT_NODE
2400
+ ) {
2401
+ const node = this.#root.getElementById(leaf.name);
2402
+ if (node) {
2403
+ if (filterLeaves.length) {
2404
+ if (this._matchLeaves(filterLeaves, node, { warn: this.#warn })) {
2405
+ nodes.push(node);
2406
+ filtered = true;
2407
+ }
2408
+ } else {
2409
+ nodes.push(node);
2410
+ filtered = true;
2411
+ }
2412
+ }
2413
+ } else {
2414
+ nodes = this._findNodeWalker(leaves, this.#node, { precede, targetType });
2415
+ filtered = nodes.length > 0;
2416
+ }
2417
+ return { nodes, filtered, pending: false };
2418
+ };
2419
+
2420
+ /**
2421
+ * Finds entry nodes for class selectors.
2422
+ * @private
2423
+ * @param {Array.<object>} leaves - The AST leaves for the selector.
2424
+ * @param {string} targetType - The type of target to find.
2425
+ * @param {object} [opt] - Options.
2426
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2427
+ * @param {boolean} [opt.precede] - If true, finds preceding nodes.
2428
+ * @returns {object} The result { nodes, filtered, pending }.
2429
+ */
2430
+ _findEntryNodesForClass = (leaves, targetType, opt = {}) => {
2431
+ const { complex, precede } = opt;
2432
+ let nodes = [];
2433
+ let filtered = false;
2434
+ if (targetType === TARGET_SELF) {
2435
+ [nodes, filtered] = this._matchSelf(leaves);
2436
+ } else if (targetType === TARGET_LINEAL) {
2437
+ [nodes, filtered] = this._findLineal(leaves, { complex });
2438
+ } else {
2439
+ nodes = this._findNodeWalker(leaves, this.#node, { precede, targetType });
2440
+ filtered = nodes.length > 0;
2441
+ }
2442
+ return { nodes, filtered, pending: false };
2443
+ };
2444
+
2445
+ /**
2446
+ * Finds entry nodes for type selectors.
2447
+ * @private
2448
+ * @param {Array.<object>} leaves - The AST leaves for the selector.
2449
+ * @param {string} targetType - The type of target to find.
2450
+ * @param {object} [opt] - Options.
2451
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2452
+ * @param {boolean} [opt.precede] - If true, finds preceding nodes.
2453
+ * @returns {object} The result { nodes, filtered, pending }.
2454
+ */
2455
+ _findEntryNodesForType = (leaves, targetType, opt = {}) => {
2456
+ const { complex, precede } = opt;
2457
+ let nodes = [];
2458
+ let filtered = false;
2459
+ if (targetType === TARGET_SELF) {
2460
+ [nodes, filtered] = this._matchSelf(leaves);
2461
+ } else if (targetType === TARGET_LINEAL) {
2462
+ [nodes, filtered] = this._findLineal(leaves, { complex });
2463
+ } else {
2464
+ nodes = this._findNodeWalker(leaves, this.#node, { precede, targetType });
2465
+ filtered = nodes.length > 0;
2466
+ }
2467
+ return { nodes, filtered, pending: false };
2468
+ };
2469
+
2470
+ /**
2471
+ * Finds entry nodes for other selector types (default case).
2472
+ * @private
2473
+ * @param {object} twig - The current twig from the AST branch.
2474
+ * @param {string} targetType - The type of target to find.
2475
+ * @param {object} [opt] - Options.
2476
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2477
+ * @param {boolean} [opt.precede] - If true, finds preceding nodes.
2478
+ * @returns {object} The result { nodes, filtered, pending }.
2479
+ */
2480
+ _findEntryNodesForOther = (twig, targetType, opt = {}) => {
2481
+ const { leaves } = twig;
2482
+ const [leaf] = leaves;
2483
+ const filterLeaves = this._getFilterLeaves(leaves);
2484
+ const { complex, precede } = opt;
2485
+ let nodes = [];
2486
+ let filtered = false;
2487
+ let pending = false;
2488
+ if (targetType !== TARGET_LINEAL && /host(?:-context)?/.test(leaf.name)) {
2489
+ let shadowRoot = null;
2490
+ if (this.#shadow && this.#node.nodeType === DOCUMENT_FRAGMENT_NODE) {
2491
+ shadowRoot = this._matchShadowHostPseudoClass(leaf, this.#node);
2492
+ } else if (filterLeaves.length && this.#node.nodeType === ELEMENT_NODE) {
2493
+ shadowRoot = this._matchShadowHostPseudoClass(
2494
+ leaf,
2495
+ this.#node.shadowRoot
2496
+ );
2497
+ }
2498
+ if (shadowRoot) {
2499
+ let bool = true;
2500
+ const l = filterLeaves.length;
2501
+ for (let i = 0; i < l; i++) {
2502
+ const filterLeaf = filterLeaves[i];
2503
+ switch (filterLeaf.name) {
2504
+ case 'host':
2505
+ case 'host-context': {
2506
+ const matchedNode = this._matchShadowHostPseudoClass(
2507
+ filterLeaf,
2508
+ shadowRoot
2509
+ );
2510
+ bool = matchedNode === shadowRoot;
2511
+ break;
2512
+ }
2513
+ case 'has': {
2514
+ bool = this._matchPseudoClassSelector(
2515
+ filterLeaf,
2516
+ shadowRoot,
2517
+ {}
2518
+ ).has(shadowRoot);
2519
+ break;
2520
+ }
2521
+ default: {
2522
+ bool = false;
2523
+ }
2524
+ }
2525
+ if (!bool) {
2526
+ break;
2527
+ }
2528
+ }
2529
+ if (bool) {
2530
+ nodes.push(shadowRoot);
2531
+ filtered = true;
2532
+ }
2533
+ }
2534
+ } else if (targetType === TARGET_SELF) {
2535
+ [nodes, filtered] = this._matchSelf(leaves);
2536
+ } else if (targetType === TARGET_LINEAL) {
2537
+ [nodes, filtered] = this._findLineal(leaves, { complex });
2538
+ } else if (targetType === TARGET_FIRST) {
2539
+ nodes = this._findNodeWalker(leaves, this.#node, { precede, targetType });
2540
+ filtered = nodes.length > 0;
2541
+ } else {
2542
+ pending = true;
2543
+ }
2544
+ return { nodes, filtered, pending };
2545
+ };
2546
+
2547
+ /**
2548
+ * Finds entry nodes.
2549
+ * @private
2550
+ * @param {object} twig - The twig object.
2551
+ * @param {string} targetType - The target type.
2552
+ * @param {object} [opt] - Options.
2553
+ * @param {boolean} [opt.complex] - If true, the selector is complex.
2554
+ * @param {string} [opt.dir] - The find direction.
2555
+ * @returns {object} An object with nodes and their state.
2556
+ */
2557
+ _findEntryNodes = (twig, targetType, opt = {}) => {
2558
+ const { leaves } = twig;
2559
+ const [leaf] = leaves;
2560
+ const filterLeaves = this._getFilterLeaves(leaves);
2561
+ const { complex = false, dir = DIR_PREV } = opt;
2562
+ const precede =
2563
+ dir === DIR_NEXT &&
2564
+ this.#node.nodeType === ELEMENT_NODE &&
2565
+ this.#node !== this.#root;
2566
+ let result;
2567
+ switch (leaf.type) {
2568
+ case PS_ELEMENT_SELECTOR: {
2569
+ result = this._findEntryNodesForPseudoElement(
2570
+ leaf,
2571
+ filterLeaves,
2572
+ targetType
2573
+ );
2574
+ break;
2575
+ }
2576
+ case ID_SELECTOR: {
2577
+ result = this._findEntryNodesForId(twig, targetType, {
2578
+ complex,
2579
+ precede
2580
+ });
2581
+ break;
2582
+ }
2583
+ case CLASS_SELECTOR: {
2584
+ result = this._findEntryNodesForClass(leaves, targetType, {
2585
+ complex,
2586
+ precede
2587
+ });
2588
+ break;
2589
+ }
2590
+ case TYPE_SELECTOR: {
2591
+ result = this._findEntryNodesForType(leaves, targetType, {
2592
+ complex,
2593
+ precede
2594
+ });
2595
+ break;
2596
+ }
2597
+ default: {
2598
+ result = this._findEntryNodesForOther(twig, targetType, {
2599
+ complex,
2600
+ precede
2601
+ });
2602
+ }
2603
+ }
2604
+ return {
2605
+ compound: filterLeaves.length > 0,
2606
+ filtered: result.filtered,
2607
+ nodes: result.nodes,
2608
+ pending: result.pending
2609
+ };
2610
+ };
2611
+
2612
+ /**
2613
+ * Determines the direction and starting twig for a selector branch.
2614
+ * @private
2615
+ * @param {Array.<object>} branch - The AST branch.
2616
+ * @param {string} targetType - The type of target to find.
2617
+ * @returns {object} An object with the direction and starting twig.
2618
+ */
2619
+ _determineTraversalStrategy = (branch, targetType) => {
2620
+ const branchLen = branch.length;
2621
+ const firstTwig = branch[0];
2622
+ const lastTwig = branch[branchLen - 1];
2623
+ if (branchLen === 1) {
2624
+ return { dir: DIR_PREV, twig: firstTwig };
2625
+ }
2626
+ // Complex selector (branchLen > 1).
2627
+ const {
2628
+ leaves: [{ name: firstName, type: firstType }]
2629
+ } = firstTwig;
2630
+ const {
2631
+ leaves: [{ name: lastName, type: lastType }]
2632
+ } = lastTwig;
2633
+ const { combo: firstCombo } = firstTwig;
2634
+ if (
2635
+ this.#selector.includes(':scope') ||
2636
+ lastType === PS_ELEMENT_SELECTOR ||
2637
+ lastType === ID_SELECTOR
2638
+ ) {
2639
+ return { dir: DIR_PREV, twig: lastTwig };
2640
+ }
2641
+ if (firstType === ID_SELECTOR) {
2642
+ return { dir: DIR_NEXT, twig: firstTwig };
2643
+ }
2644
+ if (firstName === '*' && firstType === TYPE_SELECTOR) {
2645
+ return { dir: DIR_PREV, twig: lastTwig };
2646
+ }
2647
+ if (lastName === '*' && lastType === TYPE_SELECTOR) {
2648
+ return { dir: DIR_NEXT, twig: firstTwig };
2649
+ }
2650
+ if (branchLen === 2) {
2651
+ if (targetType === TARGET_FIRST) {
2652
+ return { dir: DIR_PREV, twig: lastTwig };
2653
+ }
2654
+ const { name: comboName } = firstCombo;
2655
+ if (comboName === '+' || comboName === '~') {
2656
+ return { dir: DIR_PREV, twig: lastTwig };
2657
+ }
2658
+ } else if (branchLen > 2 && this.#scoped && targetType === TARGET_FIRST) {
2659
+ if (lastType === TYPE_SELECTOR) {
2660
+ return { dir: DIR_PREV, twig: lastTwig };
2661
+ }
2662
+ let isChildOrDescendant = false;
2663
+ for (const { combo } of branch) {
2664
+ if (combo) {
2665
+ const { name: comboName } = combo;
2666
+ isChildOrDescendant = comboName === '>' || comboName === ' ';
2667
+ if (!isChildOrDescendant) {
2668
+ break;
2669
+ }
2670
+ }
2671
+ }
2672
+ if (isChildOrDescendant) {
2673
+ return { dir: DIR_PREV, twig: lastTwig };
2674
+ }
2675
+ }
2676
+ // Default strategy for complex selectors.
2677
+ return { dir: DIR_NEXT, twig: firstTwig };
2678
+ };
2679
+
2680
+ /**
2681
+ * Processes pending items not resolved with a direct strategy.
2682
+ * @private
2683
+ * @param {Set.<Map>} pendingItems - The set of pending items.
2684
+ */
2685
+ _processPendingItems = pendingItems => {
2686
+ if (!pendingItems.size) {
2687
+ return;
2688
+ }
2689
+ if (!this.#rootWalker) {
2690
+ this.#rootWalker = this._createTreeWalker(this.#root);
2691
+ }
2692
+ const walker = this.#rootWalker;
2693
+ let node = this.#root;
2694
+ if (this.#scoped) {
2695
+ node = this.#node;
2696
+ }
2697
+ let nextNode = traverseNode(node, walker);
2698
+ while (nextNode) {
2699
+ const isWithinScope =
2700
+ this.#node.nodeType !== ELEMENT_NODE ||
2701
+ nextNode === this.#node ||
2702
+ this.#node.contains(nextNode);
2703
+ if (isWithinScope) {
2704
+ for (const pendingItem of pendingItems) {
2705
+ const { leaves } = pendingItem.get('twig');
2706
+ if (this._matchLeaves(leaves, nextNode, { warn: this.#warn })) {
2707
+ const index = pendingItem.get('index');
2708
+ this.#ast[index].filtered = true;
2709
+ this.#ast[index].find = true;
2710
+ this.#nodes[index].push(nextNode);
2711
+ }
2712
+ }
2713
+ } else if (this.#scoped) {
2714
+ break;
2715
+ }
2716
+ nextNode = walker.nextNode();
2717
+ }
2718
+ };
2719
+
2720
+ /**
2721
+ * Collects nodes.
2722
+ * @private
2723
+ * @param {string} targetType - The target type.
2724
+ * @returns {Array.<Array.<object>>} An array containing the AST and nodes.
2725
+ */
2726
+ _collectNodes = targetType => {
2727
+ [this.#ast, this.#nodes] = this._correspond(this.#selector);
2728
+ const ast = this.#ast.values();
2729
+ if (targetType === TARGET_ALL || targetType === TARGET_FIRST) {
2730
+ const pendingItems = new Set();
2731
+ let i = 0;
2732
+ for (const { branch } of ast) {
2733
+ const complex = branch.length > 1;
2734
+ const { dir, twig } = this._determineTraversalStrategy(
2735
+ branch,
2736
+ targetType
2737
+ );
2738
+ const { compound, filtered, nodes, pending } = this._findEntryNodes(
2739
+ twig,
2740
+ targetType,
2741
+ { complex, dir }
2742
+ );
2743
+ if (nodes.length) {
2744
+ this.#ast[i].find = true;
2745
+ this.#nodes[i] = nodes;
2746
+ } else if (pending) {
2747
+ pendingItems.add(
2748
+ new Map([
2749
+ ['index', i],
2750
+ ['twig', twig]
2751
+ ])
2752
+ );
2753
+ }
2754
+ this.#ast[i].dir = dir;
2755
+ this.#ast[i].filtered = filtered || !compound;
2756
+ i++;
2757
+ }
2758
+ this._processPendingItems(pendingItems);
2759
+ } else {
2760
+ let i = 0;
2761
+ for (const { branch } of ast) {
2762
+ const twig = branch[branch.length - 1];
2763
+ const complex = branch.length > 1;
2764
+ const dir = DIR_PREV;
2765
+ const { compound, filtered, nodes } = this._findEntryNodes(
2766
+ twig,
2767
+ targetType,
2768
+ { complex, dir }
2769
+ );
2770
+ if (nodes.length) {
2771
+ this.#ast[i].find = true;
2772
+ this.#nodes[i] = nodes;
2773
+ }
2774
+ this.#ast[i].dir = dir;
2775
+ this.#ast[i].filtered = filtered || !compound;
2776
+ i++;
2777
+ }
2778
+ }
2779
+ return [this.#ast, this.#nodes];
2780
+ };
2781
+
2782
+ /**
2783
+ * Gets combined nodes.
2784
+ * @private
2785
+ * @param {object} twig - The twig object.
2786
+ * @param {object} nodes - A collection of nodes.
2787
+ * @param {string} dir - The direction.
2788
+ * @returns {Array.<object>} A collection of matched nodes.
2789
+ */
2790
+ _getCombinedNodes = (twig, nodes, dir) => {
2791
+ const arr = [];
2792
+ for (const node of nodes) {
2793
+ this._collectCombinatorMatches(
2794
+ twig,
2795
+ node,
2796
+ { dir, warn: this.#warn },
2797
+ arr
2798
+ );
2799
+ }
2800
+ return arr;
2801
+ };
2802
+
2803
+ /**
2804
+ * Matches a node in the 'next' direction.
2805
+ * @private
2806
+ * @param {Array} branch - The branch.
2807
+ * @param {Set.<object>} nodes - A collection of Element nodes.
2808
+ * @param {object} [opt] - Options.
2809
+ * @param {object} [opt.combo] - The combo object.
2810
+ * @param {number} [opt.index] - The index.
2811
+ * @returns {?object} The matched node.
2812
+ */
2813
+ _matchNodeNext = (branch, nodes, opt = {}) => {
2814
+ const { combo, index } = opt;
2815
+ const { combo: nextCombo, leaves } = branch[index];
2816
+ const twig = {
2817
+ combo,
2818
+ leaves
2819
+ };
2820
+ const nextNodes = this._getCombinedNodes(twig, nodes, DIR_NEXT);
2821
+ if (nextNodes.length) {
2822
+ if (index === branch.length - 1) {
2823
+ if (nextNodes.length === 1) {
2824
+ return nextNodes[0];
2825
+ }
2826
+ const [nextNode] = sortNodes(nextNodes);
2827
+ return nextNode;
2828
+ }
2829
+ return this._matchNodeNext(branch, nextNodes, {
2830
+ combo: nextCombo,
2831
+ index: index + 1
2832
+ });
2833
+ }
2834
+ return null;
2835
+ };
2836
+
2837
+ /**
2838
+ * Matches a node in the 'previous' direction.
2839
+ * @private
2840
+ * @param {Array} branch - The branch.
2841
+ * @param {object} node - The Element node.
2842
+ * @param {object} [opt] - Options.
2843
+ * @param {number} [opt.index] - The index.
2844
+ * @returns {?object} The node.
2845
+ */
2846
+ _matchNodePrev = (branch, node, opt = {}) => {
2847
+ const { index } = opt;
2848
+ const twig = branch[index];
2849
+ const nextNodes = this._getCombinedNodes(twig, [node], DIR_PREV);
2850
+ if (nextNodes.length) {
2851
+ if (index === 0) {
2852
+ return node;
2853
+ }
2854
+ let matched;
2855
+ for (const nextNode of nextNodes) {
2856
+ matched = this._matchNodePrev(branch, nextNode, {
2857
+ index: index - 1
2858
+ });
2859
+ if (matched) {
2860
+ break;
2861
+ }
2862
+ }
2863
+ if (matched) {
2864
+ return node;
2865
+ }
2866
+ }
2867
+ return null;
2868
+ };
2869
+
2870
+ /**
2871
+ * Processes a complex selector branch to find all matching nodes.
2872
+ * @private
2873
+ * @param {Array} branch - The selector branch from the AST.
2874
+ * @param {Array} entryNodes - The initial set of nodes to start from.
2875
+ * @param {string} dir - The direction of traversal ('next' or 'prev').
2876
+ * @returns {Set.<object>} A set of all matched nodes.
2877
+ */
2878
+ _processComplexBranchAll = (branch, entryNodes, dir) => {
2879
+ const matchedNodes = new Set();
2880
+ const branchLen = branch.length;
2881
+ const lastIndex = branchLen - 1;
2882
+
2883
+ if (dir === DIR_NEXT) {
2884
+ const { combo: firstCombo } = branch[0];
2885
+ for (const node of entryNodes) {
2886
+ let combo = firstCombo;
2887
+ let nextNodes = [node];
2888
+ for (let j = 1; j < branchLen; j++) {
2889
+ const { combo: nextCombo, leaves } = branch[j];
2890
+ const twig = { combo, leaves };
2891
+ const nodesArr = this._getCombinedNodes(twig, nextNodes, dir);
2892
+ if (nodesArr.length) {
2893
+ if (j === lastIndex) {
2894
+ for (const nextNode of nodesArr) {
2895
+ matchedNodes.add(nextNode);
2896
+ }
2897
+ }
2898
+ combo = nextCombo;
2899
+ nextNodes = nodesArr;
2900
+ } else {
2901
+ break;
2902
+ }
2903
+ }
2904
+ }
2905
+ // DIR_PREV
2906
+ } else {
2907
+ for (const node of entryNodes) {
2908
+ let nextNodes = [node];
2909
+ for (let j = lastIndex - 1; j >= 0; j--) {
2910
+ const twig = branch[j];
2911
+ const nodesArr = this._getCombinedNodes(twig, nextNodes, dir);
2912
+ if (nodesArr.length) {
2913
+ // The entry node is the final match
2914
+ if (j === 0) {
2915
+ matchedNodes.add(node);
2916
+ }
2917
+ nextNodes = nodesArr;
2918
+ } else {
2919
+ break;
2920
+ }
2921
+ }
2922
+ }
2923
+ }
2924
+ return matchedNodes;
2925
+ };
2926
+
2927
+ /**
2928
+ * Processes a complex selector branch to find the first matching node.
2929
+ * @private
2930
+ * @param {Array} branch - The selector branch from the AST.
2931
+ * @param {Array} entryNodes - The initial set of nodes to start from.
2932
+ * @param {string} dir - The direction of traversal ('next' or 'prev').
2933
+ * @param {string} targetType - The type of search (e.g., 'first').
2934
+ * @returns {?object} The first matched node, or null.
2935
+ */
2936
+ _processComplexBranchFirst = (branch, entryNodes, dir, targetType) => {
2937
+ const branchLen = branch.length;
2938
+ const lastIndex = branchLen - 1;
2939
+ // DIR_NEXT logic for finding the first match.
2940
+ if (dir === DIR_NEXT) {
2941
+ const { combo: entryCombo } = branch[0];
2942
+ for (const node of entryNodes) {
2943
+ const matchedNode = this._matchNodeNext(branch, new Set([node]), {
2944
+ combo: entryCombo,
2945
+ index: 1
2946
+ });
2947
+ if (matchedNode) {
2948
+ if (this.#node.nodeType === ELEMENT_NODE) {
2949
+ if (
2950
+ matchedNode !== this.#node &&
2951
+ this.#node.contains(matchedNode)
2952
+ ) {
2953
+ return matchedNode;
2954
+ }
2955
+ } else {
2956
+ return matchedNode;
2957
+ }
2958
+ }
2959
+ }
2960
+ // Fallback logic if no direct match found.
2961
+ const { leaves: entryLeaves } = branch[0];
2962
+ const [entryNode] = entryNodes;
2963
+ if (this.#node.contains(entryNode)) {
2964
+ let [refNode] = this._findNodeWalker(entryLeaves, entryNode, {
2965
+ targetType
2966
+ });
2967
+ while (refNode) {
2968
+ const matchedNode = this._matchNodeNext(branch, new Set([refNode]), {
2969
+ combo: entryCombo,
2970
+ index: 1
2971
+ });
2972
+ if (matchedNode) {
2973
+ if (this.#node.nodeType === ELEMENT_NODE) {
2974
+ if (
2975
+ matchedNode !== this.#node &&
2976
+ this.#node.contains(matchedNode)
2977
+ ) {
2978
+ return matchedNode;
2979
+ }
2980
+ } else {
2981
+ return matchedNode;
2982
+ }
2983
+ }
2984
+ [refNode] = this._findNodeWalker(entryLeaves, refNode, {
2985
+ targetType,
2986
+ force: true
2987
+ });
2988
+ }
2989
+ }
2990
+ // DIR_PREV logic for finding the first match.
2991
+ } else {
2992
+ for (const node of entryNodes) {
2993
+ const matchedNode = this._matchNodePrev(branch, node, {
2994
+ index: lastIndex - 1
2995
+ });
2996
+ if (matchedNode) {
2997
+ return matchedNode;
2998
+ }
2999
+ }
3000
+ // Fallback for TARGET_FIRST.
3001
+ if (targetType === TARGET_FIRST) {
3002
+ const { leaves: entryLeaves } = branch[lastIndex];
3003
+ const [entryNode] = entryNodes;
3004
+ let [refNode] = this._findNodeWalker(entryLeaves, entryNode, {
3005
+ targetType
3006
+ });
3007
+ while (refNode) {
3008
+ const matchedNode = this._matchNodePrev(branch, refNode, {
3009
+ index: lastIndex - 1
3010
+ });
3011
+ if (matchedNode) {
3012
+ return refNode;
3013
+ }
3014
+ [refNode] = this._findNodeWalker(entryLeaves, refNode, {
3015
+ targetType,
3016
+ force: true
3017
+ });
3018
+ }
3019
+ }
3020
+ }
3021
+ return null;
3022
+ };
3023
+
3024
+ /**
3025
+ * Finds matched nodes.
3026
+ * @param {string} targetType - The target type.
3027
+ * @returns {Set.<object>} A collection of matched nodes.
3028
+ */
3029
+ find = targetType => {
3030
+ let collection;
3031
+ try {
3032
+ collection = this._collectNodes(targetType);
3033
+ } catch (e) {
3034
+ if (this.#check) {
3035
+ let pseudoElement;
3036
+ if (this.#pseudoElement.length) {
3037
+ pseudoElement = this.#pseudoElement.join('');
3038
+ } else {
3039
+ pseudoElement = null;
3040
+ }
3041
+ return {
3042
+ pseudoElement,
3043
+ match: false,
3044
+ ast: this.#selectorAST ?? null
3045
+ };
3046
+ } else {
3047
+ throw e;
3048
+ }
3049
+ }
3050
+ const [[...branches], collectedNodes] = collection;
3051
+ const l = branches.length;
3052
+ let sort =
3053
+ l > 1 && targetType === TARGET_ALL && this.#selector.includes(':scope');
3054
+ let nodes = new Set();
3055
+ for (let i = 0; i < l; i++) {
3056
+ const { branch, dir, find } = branches[i];
3057
+ if (!branch.length || !find) {
3058
+ continue;
3059
+ }
3060
+ const entryNodes = collectedNodes[i];
3061
+ const lastIndex = branch.length - 1;
3062
+ // Handle simple selectors (no combinators).
3063
+ if (lastIndex === 0) {
3064
+ if (
3065
+ (targetType === TARGET_ALL || targetType === TARGET_FIRST) &&
3066
+ this.#node.nodeType === ELEMENT_NODE
3067
+ ) {
3068
+ for (const node of entryNodes) {
3069
+ if (node !== this.#node && this.#node.contains(node)) {
3070
+ nodes.add(node);
3071
+ if (targetType === TARGET_FIRST) {
3072
+ break;
3073
+ }
3074
+ }
3075
+ }
3076
+ } else if (targetType === TARGET_ALL) {
3077
+ if (nodes.size) {
3078
+ for (const node of entryNodes) {
3079
+ nodes.add(node);
3080
+ }
3081
+ sort = true;
3082
+ } else {
3083
+ nodes = new Set(entryNodes);
3084
+ }
3085
+ } else {
3086
+ if (entryNodes.length) {
3087
+ nodes.add(entryNodes[0]);
3088
+ }
3089
+ }
3090
+ // Handle complex selectors.
3091
+ } else {
3092
+ if (targetType === TARGET_ALL) {
3093
+ const newNodes = this._processComplexBranchAll(
3094
+ branch,
3095
+ entryNodes,
3096
+ dir
3097
+ );
3098
+ if (nodes.size) {
3099
+ for (const newNode of newNodes) {
3100
+ nodes.add(newNode);
3101
+ }
3102
+ sort = true;
3103
+ } else {
3104
+ nodes = newNodes;
3105
+ }
3106
+ } else {
3107
+ const matchedNode = this._processComplexBranchFirst(
3108
+ branch,
3109
+ entryNodes,
3110
+ dir,
3111
+ targetType
3112
+ );
3113
+ if (matchedNode) {
3114
+ nodes.add(matchedNode);
3115
+ }
3116
+ }
3117
+ }
3118
+ }
3119
+ if (this.#check) {
3120
+ const match = !!nodes.size;
3121
+ let pseudoElement;
3122
+ if (this.#pseudoElement.length) {
3123
+ pseudoElement = this.#pseudoElement.join('');
3124
+ } else {
3125
+ pseudoElement = null;
3126
+ }
3127
+ return {
3128
+ match,
3129
+ pseudoElement,
3130
+ ast: this.#selectorAST
3131
+ };
3132
+ }
3133
+ if (targetType === TARGET_FIRST || targetType === TARGET_ALL) {
3134
+ nodes.delete(this.#node);
3135
+ }
3136
+ if ((sort || targetType === TARGET_FIRST) && nodes.size > 1) {
3137
+ return new Set(sortNodes(nodes));
3138
+ }
3139
+ return nodes;
3140
+ };
3141
+
3142
+ /**
3143
+ * Gets AST for selector.
3144
+ * @param {string} selector - The selector text.
3145
+ * @returns {object} The AST for the selector.
3146
+ */
3147
+ getAST = selector => {
3148
+ return parseSelector(selector);
3149
+ };
3150
+ }