scordi-extension 1.16.3 → 1.16.4

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 (240) hide show
  1. package/README.md +61 -29
  2. package/dist/blocks/AiParseDataBlock.d.ts.map +1 -1
  3. package/dist/blocks/EventClickBlock.d.ts.map +1 -1
  4. package/dist/blocks/ExportDataBlock.d.ts.map +1 -1
  5. package/dist/blocks/KeypressBlock.d.ts.map +1 -1
  6. package/dist/blocks/NetworkCatchBlock.d.ts.map +1 -1
  7. package/dist/blocks/WaitForConditionBlock.d.ts.map +1 -1
  8. package/dist/blocks/index.d.ts +1 -1
  9. package/dist/blocks/index.d.ts.map +1 -1
  10. package/dist/sdk/EightGClient.d.ts +6 -3
  11. package/dist/sdk/EightGClient.d.ts.map +1 -1
  12. package/dist/sdk/index.cjs +2 -2
  13. package/dist/sdk/index.js +166 -160
  14. package/dist/sdk/types.d.ts.map +1 -1
  15. package/dist/types/internal-messages.d.ts.map +1 -1
  16. package/dist/workflow/context/execution-context/binding.d.ts.map +1 -1
  17. package/dist/workflow/context/execution-context/condition.d.ts.map +1 -1
  18. package/dist/workflow/context/execution-context/index.d.ts +3 -3
  19. package/dist/workflow/context/execution-context/index.d.ts.map +1 -1
  20. package/dist/workflow/context/execution-context/resolver.d.ts.map +1 -1
  21. package/dist/workflow/context/loop-context/index.d.ts +1 -1
  22. package/dist/workflow/context/loop-context/index.d.ts.map +1 -1
  23. package/dist/workflow/context/loop-context/loop-context.d.ts.map +1 -1
  24. package/dist/workflow/context/loop-context/resolver.d.ts.map +1 -1
  25. package/dist/workflow/context/step-context/index.d.ts +1 -1
  26. package/dist/workflow/context/step-context/index.d.ts.map +1 -1
  27. package/dist/workflow/context/step-context/resolver.d.ts.map +1 -1
  28. package/dist/workflow/context/step-context/step-context.d.ts.map +1 -1
  29. package/dist/workflow/context/var-context/index.d.ts +1 -1
  30. package/dist/workflow/context/var-context/index.d.ts.map +1 -1
  31. package/dist/workflow/context/var-context/resolver.d.ts.map +1 -1
  32. package/dist/workflow/context/var-context/var-context.d.ts.map +1 -1
  33. package/package.json +1 -1
  34. package/dist/.vite/manifest.json +0 -75
  35. package/dist/assets/index-B45Q7XiR.js +0 -49
  36. package/dist/assets/index-BqQ8JinV.js +0 -1
  37. package/dist/assets/index-CVzjlC_s.js +0 -1
  38. package/dist/assets/index-CYVwV_2L.js +0 -1
  39. package/dist/assets/index-DkFIvNAm.css +0 -1
  40. package/dist/assets/index-DxZcS402.js +0 -1
  41. package/dist/assets/index-tW55lo_h.js +0 -4
  42. package/dist/assets/index.html-DZ7AUTQZ.js +0 -1
  43. package/dist/assets/index.ts-2nFLTUkL.js +0 -238
  44. package/dist/assets/index.ts-BRPHoTRl.js +0 -256
  45. package/dist/assets/index.ts-C2f2hGoV.js +0 -158
  46. package/dist/assets/index.ts-CD2jVezi.js +0 -256
  47. package/dist/assets/index.ts-COMnxBfB.js +0 -238
  48. package/dist/assets/index.ts-mAOhzdZJ.js +0 -238
  49. package/dist/assets/internal-messages-BMRA0i8A.js +0 -1
  50. package/dist/assets/internal-messages-BS1uEgeS.js +0 -1
  51. package/dist/assets/internal-messages-CP1ANEcL.js +0 -1
  52. package/dist/assets/internal-messages-Drf0Gb9U.js +0 -1
  53. package/dist/assets/loading-page-1924caaa.js +0 -51
  54. package/dist/assets/main.tsx-CHn9k-P7.js +0 -38
  55. package/dist/assets/main.tsx-DnGNeWWr.js +0 -38
  56. package/dist/assets/main.tsx-DtStYr-r.js +0 -2
  57. package/dist/assets/main.tsx-UFslEqbd.js +0 -38
  58. package/dist/assets/main.tsx-loader-6Ftbg0YS.js +0 -13
  59. package/dist/assets/main.tsx-loader-ByFSLdJ4.js +0 -13
  60. package/dist/assets/main.tsx-loader-CuF0J02t.js +0 -13
  61. package/dist/assets/main.tsx-loader-sjxNXQPw.js +0 -13
  62. package/dist/assets/types-BId3CBm7.js +0 -1
  63. package/dist/assets/types-CeXfY5Yv.js +0 -4
  64. package/dist/assets/types-Dzn4eD9c.js +0 -22
  65. package/dist/assets/types-q2_wITfk.js +0 -4
  66. package/dist/blocks/CaptureNetworkBlock.d.ts +0 -75
  67. package/dist/blocks/CaptureNetworkBlock.d.ts.map +0 -1
  68. package/dist/blocks/DataExtractBlock.d.ts +0 -23
  69. package/dist/blocks/DataExtractBlock.d.ts.map +0 -1
  70. package/dist/blocks/index.cjs +0 -4
  71. package/dist/blocks/index.js +0 -7839
  72. package/dist/blocks/logo.png +0 -0
  73. package/dist/logo.png +0 -0
  74. package/dist/manifest.json +0 -55
  75. package/dist/public/logo.png +0 -0
  76. package/dist/service-worker-loader.js +0 -3
  77. package/dist/src/blocks/AiParseDataBlock.ts.js +0 -111
  78. package/dist/src/blocks/CaptureNetworkBlock.ts.js +0 -55
  79. package/dist/src/blocks/ClearValueFormBlock.ts.js +0 -55
  80. package/dist/src/blocks/DataExtractBlock.ts.js +0 -28
  81. package/dist/src/blocks/ElementExistsBlock.ts.js +0 -26
  82. package/dist/src/blocks/EventClickBlock.ts.js +0 -143
  83. package/dist/src/blocks/ExportDataBlock.ts.js +0 -47
  84. package/dist/src/blocks/FetchApiBlock.ts.js +0 -50
  85. package/dist/src/blocks/GetAttributeValueBlock.ts.js +0 -33
  86. package/dist/src/blocks/GetElementDataBlock.ts.js +0 -114
  87. package/dist/src/blocks/GetTextBlock.ts.js +0 -152
  88. package/dist/src/blocks/GetValueFormBlock.ts.js +0 -52
  89. package/dist/src/blocks/KeypressBlock.ts.js +0 -89
  90. package/dist/src/blocks/NavigateBlock.ts.js +0 -48
  91. package/dist/src/blocks/NetworkCatchBlock.ts.js +0 -61
  92. package/dist/src/blocks/SaveAssetsBlock.ts.js +0 -35
  93. package/dist/src/blocks/ScrollBlock.ts.js +0 -111
  94. package/dist/src/blocks/SetValueFormBlock.ts.js +0 -56
  95. package/dist/src/blocks/TransformDataBlock.ts.js +0 -42
  96. package/dist/src/blocks/WaitBlock.ts.js +0 -24
  97. package/dist/src/blocks/WaitForConditionBlock.ts.js +0 -187
  98. package/dist/src/blocks/index.ts.js +0 -198
  99. package/dist/src/blocks/types.ts.js +0 -11
  100. package/dist/src/content/components/ConfirmationUI.tsx.js +0 -244
  101. package/dist/src/content/components/ExecutionStatusUI.tsx.js +0 -223
  102. package/dist/src/content/elements/finders/CssSelector.ts.js +0 -51
  103. package/dist/src/content/elements/finders/ElementSelector.ts.js +0 -20
  104. package/dist/src/content/elements/finders/IframeSelector.ts.js +0 -32
  105. package/dist/src/content/elements/finders/ShadowDOMSelector.ts.js +0 -38
  106. package/dist/src/content/elements/finders/XPathFinder.ts.js +0 -32
  107. package/dist/src/content/elements/index.ts.js +0 -26
  108. package/dist/src/content/elements/utils/CSSSelectorGenerator.ts.js +0 -72
  109. package/dist/src/content/elements/utils/XPathGenerator.ts.js +0 -62
  110. package/dist/src/content/handler/ExternalMessageHandler.ts.js +0 -78
  111. package/dist/src/content/handler/InternalMessageHandler.ts.js +0 -40
  112. package/dist/src/content/kernel/MessageKernel.ts.js +0 -83
  113. package/dist/src/content/main.tsx-loader.js +0 -22
  114. package/dist/src/content/main.tsx.js +0 -50
  115. package/dist/src/content/utils/index.ts.js +0 -1
  116. package/dist/src/content/utils/synchronizedLock.ts.js +0 -35
  117. package/dist/src/popup/index.html +0 -12
  118. package/dist/src/sdk/types.ts.js +0 -150
  119. package/dist/src/types/internal-messages.ts.js +0 -27
  120. package/dist/src/workflow/context/execution-context/types.ts.js +0 -0
  121. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--29d58732.js +0 -45
  122. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--34285d49.js +0 -45
  123. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--36a0c079.js +0 -45
  124. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--7cce5f32.js +0 -45
  125. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--8598b0e0.js +0 -45
  126. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--9054997c.js +0 -45
  127. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--a79cb78d.js +0 -45
  128. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--af906259.js +0 -45
  129. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--e041f26d.js +0 -45
  130. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--e1405dc4.js +0 -45
  131. package/dist/vendor/.vite-deps-chunk-2TUXWMP5.js__v--e2a1f584.js +0 -45
  132. package/dist/vendor/.vite-deps-chunk-DC5AMYBS.js__v--87b685c1.js +0 -38
  133. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--29d58732.js +0 -975
  134. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--34285d49.js +0 -975
  135. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--36a0c079.js +0 -975
  136. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--7cce5f32.js +0 -975
  137. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--8598b0e0.js +0 -975
  138. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--a79cb78d.js +0 -975
  139. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--af906259.js +0 -975
  140. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--e041f26d.js +0 -975
  141. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--e1405dc4.js +0 -975
  142. package/dist/vendor/.vite-deps-chunk-EL3BNLGW.js__v--e2a1f584.js +0 -975
  143. package/dist/vendor/.vite-deps-chunk-KDMJ4XM7.js__v--87b685c1.js +0 -4154
  144. package/dist/vendor/.vite-deps-chunk-MANNBT4V.js__v--87b685c1.js +0 -280
  145. package/dist/vendor/.vite-deps-chunk-NZP3G7XT.js__v--87b685c1.js +0 -975
  146. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--36a0c079.js +0 -4158
  147. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--8598b0e0.js +0 -4158
  148. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--9054997c.js +0 -4158
  149. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--a79cb78d.js +0 -4158
  150. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--e041f26d.js +0 -4158
  151. package/dist/vendor/.vite-deps-chunk-QIBDMRD4.js__v--e2a1f584.js +0 -4158
  152. package/dist/vendor/.vite-deps-chunk-UW5CEYRC.js__v--29d58732.js +0 -4154
  153. package/dist/vendor/.vite-deps-chunk-UW5CEYRC.js__v--34285d49.js +0 -4154
  154. package/dist/vendor/.vite-deps-chunk-UW5CEYRC.js__v--7cce5f32.js +0 -4154
  155. package/dist/vendor/.vite-deps-chunk-UW5CEYRC.js__v--af906259.js +0 -4154
  156. package/dist/vendor/.vite-deps-chunk-UW5CEYRC.js__v--e1405dc4.js +0 -4154
  157. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--29d58732.js +0 -280
  158. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--34285d49.js +0 -280
  159. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--36a0c079.js +0 -280
  160. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--7cce5f32.js +0 -280
  161. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--8598b0e0.js +0 -280
  162. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--a79cb78d.js +0 -280
  163. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--af906259.js +0 -280
  164. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--e041f26d.js +0 -280
  165. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--e1405dc4.js +0 -280
  166. package/dist/vendor/.vite-deps-chunk-XHY3JSIG.js__v--e2a1f584.js +0 -280
  167. package/dist/vendor/.vite-deps-jsonata.js__v--1f855851.js +0 -5761
  168. package/dist/vendor/.vite-deps-jsonata.js__v--34285d49.js +0 -5761
  169. package/dist/vendor/.vite-deps-jsonata.js__v--370b8ffe.js +0 -5761
  170. package/dist/vendor/.vite-deps-jsonata.js__v--7496ecd5.js +0 -5761
  171. package/dist/vendor/.vite-deps-jsonata.js__v--7cce5f32.js +0 -5761
  172. package/dist/vendor/.vite-deps-jsonata.js__v--8598b0e0.js +0 -5761
  173. package/dist/vendor/.vite-deps-jsonata.js__v--989ee283.js +0 -5761
  174. package/dist/vendor/.vite-deps-jsonata.js__v--aa4cf553.js +0 -5761
  175. package/dist/vendor/.vite-deps-jsonata.js__v--af906259.js +0 -5761
  176. package/dist/vendor/.vite-deps-jsonata.js__v--d602c657.js +0 -5761
  177. package/dist/vendor/.vite-deps-jsonata.js__v--e041f26d.js +0 -5761
  178. package/dist/vendor/.vite-deps-jsonata.js__v--e2a1f584.js +0 -5761
  179. package/dist/vendor/.vite-deps-react-dom.js__v--1217aa43.js +0 -6
  180. package/dist/vendor/.vite-deps-react-dom.js__v--34285d49.js +0 -6
  181. package/dist/vendor/.vite-deps-react-dom.js__v--36c31e85.js +0 -6
  182. package/dist/vendor/.vite-deps-react-dom.js__v--7cce5f32.js +0 -6
  183. package/dist/vendor/.vite-deps-react-dom.js__v--8313ef2c.js +0 -6
  184. package/dist/vendor/.vite-deps-react-dom.js__v--8598b0e0.js +0 -6
  185. package/dist/vendor/.vite-deps-react-dom.js__v--87af57af.js +0 -6
  186. package/dist/vendor/.vite-deps-react-dom.js__v--9967e564.js +0 -6
  187. package/dist/vendor/.vite-deps-react-dom.js__v--af906259.js +0 -6
  188. package/dist/vendor/.vite-deps-react-dom.js__v--e041f26d.js +0 -6
  189. package/dist/vendor/.vite-deps-react-dom.js__v--e2a1f584.js +0 -6
  190. package/dist/vendor/.vite-deps-react-dom_client.js__v--05e7db8c.js +0 -18108
  191. package/dist/vendor/.vite-deps-react-dom_client.js__v--34285d49.js +0 -18108
  192. package/dist/vendor/.vite-deps-react-dom_client.js__v--7cce5f32.js +0 -18108
  193. package/dist/vendor/.vite-deps-react-dom_client.js__v--8598b0e0.js +0 -18108
  194. package/dist/vendor/.vite-deps-react-dom_client.js__v--8ec6d0f4.js +0 -18108
  195. package/dist/vendor/.vite-deps-react-dom_client.js__v--a69c8f91.js +0 -18108
  196. package/dist/vendor/.vite-deps-react-dom_client.js__v--aaaed31d.js +0 -18108
  197. package/dist/vendor/.vite-deps-react-dom_client.js__v--af906259.js +0 -18108
  198. package/dist/vendor/.vite-deps-react-dom_client.js__v--e041f26d.js +0 -18108
  199. package/dist/vendor/.vite-deps-react-dom_client.js__v--e2a1f584.js +0 -18108
  200. package/dist/vendor/.vite-deps-react-dom_client.js__v--f80719e9.js +0 -18108
  201. package/dist/vendor/.vite-deps-react.js__v--1217aa43.js +0 -5
  202. package/dist/vendor/.vite-deps-react.js__v--34285d49.js +0 -5
  203. package/dist/vendor/.vite-deps-react.js__v--36c31e85.js +0 -5
  204. package/dist/vendor/.vite-deps-react.js__v--7cce5f32.js +0 -5
  205. package/dist/vendor/.vite-deps-react.js__v--8313ef2c.js +0 -5
  206. package/dist/vendor/.vite-deps-react.js__v--8598b0e0.js +0 -5
  207. package/dist/vendor/.vite-deps-react.js__v--87af57af.js +0 -5
  208. package/dist/vendor/.vite-deps-react.js__v--9967e564.js +0 -5
  209. package/dist/vendor/.vite-deps-react.js__v--af906259.js +0 -5
  210. package/dist/vendor/.vite-deps-react.js__v--e041f26d.js +0 -5
  211. package/dist/vendor/.vite-deps-react.js__v--e2a1f584.js +0 -5
  212. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--1217aa43.js +0 -281
  213. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--34285d49.js +0 -281
  214. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--36c31e85.js +0 -281
  215. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--7cce5f32.js +0 -281
  216. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--8313ef2c.js +0 -281
  217. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--8598b0e0.js +0 -281
  218. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--87af57af.js +0 -281
  219. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--9967e564.js +0 -281
  220. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--af906259.js +0 -281
  221. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--e041f26d.js +0 -281
  222. package/dist/vendor/.vite-deps-react_jsx-dev-runtime.js__v--e2a1f584.js +0 -281
  223. package/dist/vendor/.vite-deps-zod.js__v--34285d49.js +0 -222
  224. package/dist/vendor/.vite-deps-zod.js__v--6548a37a.js +0 -222
  225. package/dist/vendor/.vite-deps-zod.js__v--706a718e.js +0 -219
  226. package/dist/vendor/.vite-deps-zod.js__v--7cce5f32.js +0 -222
  227. package/dist/vendor/.vite-deps-zod.js__v--8598b0e0.js +0 -219
  228. package/dist/vendor/.vite-deps-zod.js__v--9e0f4cc1.js +0 -219
  229. package/dist/vendor/.vite-deps-zod.js__v--af906259.js +0 -222
  230. package/dist/vendor/.vite-deps-zod.js__v--b73c580c.js +0 -219
  231. package/dist/vendor/.vite-deps-zod.js__v--dc9842e6.js +0 -222
  232. package/dist/vendor/.vite-deps-zod.js__v--e041f26d.js +0 -219
  233. package/dist/vendor/.vite-deps-zod.js__v--e2a1f584.js +0 -219
  234. package/dist/vendor/.vite-deps-zod.js__v--e4714212.js +0 -222
  235. package/dist/vendor/crx-client-port.js +0 -66
  236. package/dist/vendor/crx-client-preamble.js +0 -4
  237. package/dist/vendor/react-refresh.js +0 -670
  238. package/dist/vendor/vite-client.js +0 -1134
  239. package/dist/vendor/vite-dist-client-env.mjs.js +0 -24
  240. package/dist/vendor/webcomponents-custom-elements.js +0 -47
@@ -1,244 +0,0 @@
1
- import { createHotContext as __vite__createHotContext } from "/vendor/vite-client.js";import.meta.hot = __vite__createHotContext("/src/content/components/ConfirmationUI.tsx.js");import __vite__cjsImport0_react_jsxDevRuntime from "/vendor/.vite-deps-react_jsx-dev-runtime.js__v--34285d49.js"; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"];
2
- import * as RefreshRuntime from "/vendor/react-refresh.js";
3
- const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope;
4
- let prevRefreshReg;
5
- let prevRefreshSig;
6
- if (import.meta.hot && !inWebWorker) {
7
- if (!window.$RefreshReg$) {
8
- throw new Error(
9
- "@vitejs/plugin-react can't detect preamble. Something is wrong."
10
- );
11
- }
12
- prevRefreshReg = window.$RefreshReg$;
13
- prevRefreshSig = window.$RefreshSig$;
14
- window.$RefreshReg$ = RefreshRuntime.getRefreshReg("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx");
15
- window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
16
- }
17
- var _s = $RefreshSig$(), _s2 = $RefreshSig$();
18
- import __vite__cjsImport3_react from "/vendor/.vite-deps-react.js__v--34285d49.js"; const useEffect = __vite__cjsImport3_react["useEffect"]; const useState = __vite__cjsImport3_react["useState"];
19
- import __vite__cjsImport4_reactDom from "/vendor/.vite-deps-react-dom.js__v--34285d49.js"; const createPortal = __vite__cjsImport4_reactDom["createPortal"];
20
- const positionStyles = {
21
- "top-left": {
22
- top: "20px",
23
- left: "20px"
24
- },
25
- "top-right": {
26
- top: "20px",
27
- right: "20px"
28
- },
29
- "bottom-left": {
30
- bottom: "20px",
31
- left: "20px"
32
- },
33
- "bottom-right": {
34
- bottom: "20px",
35
- right: "20px"
36
- }
37
- };
38
- export function ConfirmationUI({
39
- message,
40
- buttonText,
41
- position,
42
- onConfirm,
43
- visible
44
- }) {
45
- _s();
46
- const [isAnimating, setIsAnimating] = useState(false);
47
- useEffect(() => {
48
- if (visible) {
49
- setTimeout(() => setIsAnimating(true), 10);
50
- } else {
51
- setIsAnimating(false);
52
- }
53
- }, [visible]);
54
- const getDisplayMessage = () => {
55
- const currentUrl = window.location.href.toLowerCase();
56
- const isLoginPage = currentUrl.includes("login") || currentUrl.includes("signin");
57
- if (isLoginPage) {
58
- return "로그인 완료 후 확인 버튼을 클릭해주세요.";
59
- }
60
- return message;
61
- };
62
- if (!visible) return null;
63
- const handleConfirm = () => {
64
- setIsAnimating(false);
65
- setTimeout(() => {
66
- onConfirm();
67
- }, 200);
68
- };
69
- const containerStyle = {
70
- position: "fixed",
71
- ...positionStyles[position],
72
- zIndex: 2147483647,
73
- // Maximum z-index
74
- backgroundColor: "#ffffff",
75
- border: "2px solid #4f46e5",
76
- borderRadius: "12px",
77
- padding: "16px 20px",
78
- boxShadow: "0 10px 25px rgba(0, 0, 0, 0.2)",
79
- display: "flex",
80
- flexDirection: "column",
81
- gap: "12px",
82
- minWidth: "280px",
83
- maxWidth: "400px",
84
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
85
- transform: isAnimating ? "scale(1)" : "scale(0.9)",
86
- opacity: isAnimating ? 1 : 0,
87
- transition: "transform 0.2s ease-out, opacity 0.2s ease-out"
88
- };
89
- const messageStyle = {
90
- margin: 0,
91
- fontSize: "14px",
92
- lineHeight: "1.5",
93
- color: "#1f2937",
94
- fontWeight: 500
95
- };
96
- const buttonStyle = {
97
- backgroundColor: "#4f46e5",
98
- color: "#ffffff",
99
- border: "none",
100
- borderRadius: "8px",
101
- padding: "10px 16px",
102
- fontSize: "14px",
103
- fontWeight: 600,
104
- cursor: "pointer",
105
- transition: "background-color 0.2s ease",
106
- outline: "none"
107
- };
108
- const buttonHoverStyle = {
109
- backgroundColor: "#4338ca"
110
- };
111
- return createPortal(
112
- /* @__PURE__ */ jsxDEV(
113
- "div",
114
- {
115
- style: containerStyle,
116
- onClick: (e) => e.stopPropagation(),
117
- children: [
118
- /* @__PURE__ */ jsxDEV("p", { style: messageStyle, children: getDisplayMessage() }, void 0, false, {
119
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx",
120
- lineNumber: 143,
121
- columnNumber: 7
122
- }, this),
123
- /* @__PURE__ */ jsxDEV(
124
- "button",
125
- {
126
- style: buttonStyle,
127
- onMouseEnter: (e) => {
128
- e.currentTarget.style.backgroundColor = buttonHoverStyle.backgroundColor;
129
- },
130
- onMouseLeave: (e) => {
131
- e.currentTarget.style.backgroundColor = buttonStyle.backgroundColor;
132
- },
133
- onClick: handleConfirm,
134
- children: buttonText
135
- },
136
- void 0,
137
- false,
138
- {
139
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx",
140
- lineNumber: 144,
141
- columnNumber: 7
142
- },
143
- this
144
- )
145
- ]
146
- },
147
- void 0,
148
- true,
149
- {
150
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx",
151
- lineNumber: 139,
152
- columnNumber: 5
153
- },
154
- this
155
- ),
156
- document.body
157
- );
158
- }
159
- _s(ConfirmationUI, "U13FD0PO4FR4rREA5Sq0cx8yDCA=");
160
- _c = ConfirmationUI;
161
- export function ConfirmationUIContainer() {
162
- _s2();
163
- const [uiState, setUiState] = useState({
164
- visible: false,
165
- message: "",
166
- buttonText: "",
167
- position: "bottom-right",
168
- onConfirm: null
169
- });
170
- useEffect(() => {
171
- const handleShow = (event) => {
172
- const customEvent = event;
173
- const { message, buttonText, position, onConfirm } = customEvent.detail;
174
- console.log("[ConfirmationUI] Show event received:", { message, buttonText, position });
175
- setUiState({
176
- visible: true,
177
- message,
178
- buttonText,
179
- position,
180
- onConfirm
181
- });
182
- };
183
- const handleHide = () => {
184
- console.log("[ConfirmationUI] Hide event received");
185
- setUiState((prev) => ({
186
- ...prev,
187
- visible: false
188
- }));
189
- };
190
- window.addEventListener("8g-show-confirmation-ui", handleShow);
191
- window.addEventListener("8g-hide-confirmation-ui", handleHide);
192
- return () => {
193
- window.removeEventListener("8g-show-confirmation-ui", handleShow);
194
- window.removeEventListener("8g-hide-confirmation-ui", handleHide);
195
- };
196
- }, []);
197
- const handleConfirm = () => {
198
- console.log("[ConfirmationUI] User confirmed");
199
- if (uiState.onConfirm) {
200
- uiState.onConfirm();
201
- }
202
- setUiState((prev) => ({
203
- ...prev,
204
- visible: false
205
- }));
206
- };
207
- return /* @__PURE__ */ jsxDEV(
208
- ConfirmationUI,
209
- {
210
- message: uiState.message,
211
- buttonText: uiState.buttonText,
212
- position: uiState.position,
213
- onConfirm: handleConfirm,
214
- visible: uiState.visible
215
- },
216
- void 0,
217
- false,
218
- {
219
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx",
220
- lineNumber: 224,
221
- columnNumber: 5
222
- },
223
- this
224
- );
225
- }
226
- _s2(ConfirmationUIContainer, "UwvSFkkcpfVXM3XMbs+084GMpNI=");
227
- _c2 = ConfirmationUIContainer;
228
- var _c, _c2;
229
- $RefreshReg$(_c, "ConfirmationUI");
230
- $RefreshReg$(_c2, "ConfirmationUIContainer");
231
- if (import.meta.hot && !inWebWorker) {
232
- window.$RefreshReg$ = prevRefreshReg;
233
- window.$RefreshSig$ = prevRefreshSig;
234
- }
235
- if (import.meta.hot && !inWebWorker) {
236
- RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
237
- RefreshRuntime.registerExportsForReactRefresh("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx", currentExports);
238
- import.meta.hot.accept((nextExports) => {
239
- if (!nextExports) return;
240
- const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ConfirmationUI.tsx", currentExports, nextExports);
241
- if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
242
- });
243
- });
244
- }
@@ -1,223 +0,0 @@
1
- import { createHotContext as __vite__createHotContext } from "/vendor/vite-client.js";import.meta.hot = __vite__createHotContext("/src/content/components/ExecutionStatusUI.tsx.js");import __vite__cjsImport0_react_jsxDevRuntime from "/vendor/.vite-deps-react_jsx-dev-runtime.js__v--34285d49.js"; const Fragment = __vite__cjsImport0_react_jsxDevRuntime["Fragment"]; const jsxDEV = __vite__cjsImport0_react_jsxDevRuntime["jsxDEV"];
2
- import * as RefreshRuntime from "/vendor/react-refresh.js";
3
- const inWebWorker = typeof WorkerGlobalScope !== "undefined" && self instanceof WorkerGlobalScope;
4
- let prevRefreshReg;
5
- let prevRefreshSig;
6
- if (import.meta.hot && !inWebWorker) {
7
- if (!window.$RefreshReg$) {
8
- throw new Error(
9
- "@vitejs/plugin-react can't detect preamble. Something is wrong."
10
- );
11
- }
12
- prevRefreshReg = window.$RefreshReg$;
13
- prevRefreshSig = window.$RefreshSig$;
14
- window.$RefreshReg$ = RefreshRuntime.getRefreshReg("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx");
15
- window.$RefreshSig$ = RefreshRuntime.createSignatureFunctionForTransform;
16
- }
17
- var _s = $RefreshSig$(), _s2 = $RefreshSig$();
18
- import __vite__cjsImport3_react from "/vendor/.vite-deps-react.js__v--34285d49.js"; const useEffect = __vite__cjsImport3_react["useEffect"]; const useState = __vite__cjsImport3_react["useState"];
19
- import __vite__cjsImport4_reactDom from "/vendor/.vite-deps-react-dom.js__v--34285d49.js"; const createPortal = __vite__cjsImport4_reactDom["createPortal"];
20
- export function ExecutionStatusUI({ visible, message = "실행 중" }) {
21
- _s();
22
- const [isAnimating, setIsAnimating] = useState(false);
23
- useEffect(() => {
24
- if (visible) {
25
- setTimeout(() => setIsAnimating(true), 10);
26
- } else {
27
- setIsAnimating(false);
28
- }
29
- }, [visible]);
30
- if (!visible) return null;
31
- const containerStyle = {
32
- position: "fixed",
33
- top: "20px",
34
- left: "20px",
35
- zIndex: 2147483647,
36
- backgroundColor: "#ffffff",
37
- border: "2px solid #818cf8",
38
- borderRadius: "12px",
39
- padding: "16px 20px",
40
- boxShadow: "0 10px 25px rgba(0, 0, 0, 0.2)",
41
- display: "flex",
42
- alignItems: "center",
43
- gap: "12px",
44
- minWidth: "200px",
45
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
46
- transform: isAnimating ? "scale(1)" : "scale(0.9)",
47
- opacity: isAnimating ? 1 : 0,
48
- transition: "transform 0.2s ease-out, opacity 0.2s ease-out"
49
- };
50
- const catContainerStyle = {
51
- position: "relative",
52
- width: "40px",
53
- height: "30px",
54
- overflow: "hidden"
55
- };
56
- const catStyle = {
57
- fontSize: "24px",
58
- animation: "walkCat 2s ease-in-out infinite"
59
- };
60
- const messageStyle = {
61
- margin: 0,
62
- fontSize: "14px",
63
- fontWeight: 600,
64
- color: "#1f2937",
65
- display: "flex",
66
- alignItems: "center",
67
- gap: "4px"
68
- };
69
- const dotsStyle = {
70
- display: "inline-block",
71
- width: "20px"
72
- };
73
- return createPortal(
74
- /* @__PURE__ */ jsxDEV(Fragment, { children: [
75
- /* @__PURE__ */ jsxDEV("style", { children: `
76
- @keyframes walkCat {
77
- 0%, 100% {
78
- transform: translateX(0px);
79
- }
80
- 50% {
81
- transform: translateX(10px);
82
- }
83
- }
84
-
85
- @keyframes dotBlink {
86
- 0%, 20% {
87
- opacity: 0;
88
- }
89
- 40% {
90
- opacity: 1;
91
- }
92
- 100% {
93
- opacity: 0;
94
- }
95
- }
96
-
97
- .dot-1 {
98
- animation: dotBlink 1.5s infinite;
99
- animation-delay: 0s;
100
- }
101
-
102
- .dot-2 {
103
- animation: dotBlink 1.5s infinite;
104
- animation-delay: 0.3s;
105
- }
106
-
107
- .dot-3 {
108
- animation: dotBlink 1.5s infinite;
109
- animation-delay: 0.6s;
110
- }
111
- ` }, void 0, false, {
112
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
113
- lineNumber: 94,
114
- columnNumber: 7
115
- }, this),
116
- /* @__PURE__ */ jsxDEV("div", { style: containerStyle, onClick: (e) => e.stopPropagation(), children: [
117
- /* @__PURE__ */ jsxDEV("div", { style: catContainerStyle, children: /* @__PURE__ */ jsxDEV("span", { style: catStyle, children: "🐱" }, void 0, false, {
118
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
119
- lineNumber: 135,
120
- columnNumber: 11
121
- }, this) }, void 0, false, {
122
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
123
- lineNumber: 134,
124
- columnNumber: 9
125
- }, this),
126
- /* @__PURE__ */ jsxDEV("p", { style: messageStyle, children: [
127
- message,
128
- /* @__PURE__ */ jsxDEV("span", { style: dotsStyle, children: [
129
- /* @__PURE__ */ jsxDEV("span", { className: "dot-1", children: "." }, void 0, false, {
130
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
131
- lineNumber: 140,
132
- columnNumber: 13
133
- }, this),
134
- /* @__PURE__ */ jsxDEV("span", { className: "dot-2", children: "." }, void 0, false, {
135
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
136
- lineNumber: 141,
137
- columnNumber: 13
138
- }, this),
139
- /* @__PURE__ */ jsxDEV("span", { className: "dot-3", children: "." }, void 0, false, {
140
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
141
- lineNumber: 142,
142
- columnNumber: 13
143
- }, this)
144
- ] }, void 0, true, {
145
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
146
- lineNumber: 139,
147
- columnNumber: 11
148
- }, this)
149
- ] }, void 0, true, {
150
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
151
- lineNumber: 137,
152
- columnNumber: 9
153
- }, this)
154
- ] }, void 0, true, {
155
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
156
- lineNumber: 133,
157
- columnNumber: 7
158
- }, this)
159
- ] }, void 0, true, {
160
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
161
- lineNumber: 93,
162
- columnNumber: 5
163
- }, this),
164
- document.body
165
- );
166
- }
167
- _s(ExecutionStatusUI, "U13FD0PO4FR4rREA5Sq0cx8yDCA=");
168
- _c = ExecutionStatusUI;
169
- export function ExecutionStatusUIContainer() {
170
- _s2();
171
- const [uiState, setUiState] = useState({
172
- visible: false,
173
- message: "실행 중"
174
- });
175
- useEffect(() => {
176
- const handleShow = (event) => {
177
- const customEvent = event;
178
- const { message } = customEvent.detail || {};
179
- console.log("[ExecutionStatusUI] Show event received:", { message });
180
- setUiState({
181
- visible: true,
182
- message: message || "실행 중"
183
- });
184
- };
185
- const handleHide = () => {
186
- console.log("[ExecutionStatusUI] Hide event received");
187
- setUiState((prev) => ({
188
- ...prev,
189
- visible: false
190
- }));
191
- };
192
- window.addEventListener("8g-show-execution-status", handleShow);
193
- window.addEventListener("8g-hide-execution-status", handleHide);
194
- return () => {
195
- window.removeEventListener("8g-show-execution-status", handleShow);
196
- window.removeEventListener("8g-hide-execution-status", handleHide);
197
- };
198
- }, []);
199
- return /* @__PURE__ */ jsxDEV(ExecutionStatusUI, { visible: uiState.visible, message: uiState.message }, void 0, false, {
200
- fileName: "/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx",
201
- lineNumber: 193,
202
- columnNumber: 10
203
- }, this);
204
- }
205
- _s2(ExecutionStatusUIContainer, "HftpdxRipQgSZG00FebLnFqwyKI=");
206
- _c2 = ExecutionStatusUIContainer;
207
- var _c, _c2;
208
- $RefreshReg$(_c, "ExecutionStatusUI");
209
- $RefreshReg$(_c2, "ExecutionStatusUIContainer");
210
- if (import.meta.hot && !inWebWorker) {
211
- window.$RefreshReg$ = prevRefreshReg;
212
- window.$RefreshSig$ = prevRefreshSig;
213
- }
214
- if (import.meta.hot && !inWebWorker) {
215
- RefreshRuntime.__hmr_import(import.meta.url).then((currentExports) => {
216
- RefreshRuntime.registerExportsForReactRefresh("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx", currentExports);
217
- import.meta.hot.accept((nextExports) => {
218
- if (!nextExports) return;
219
- const invalidateMessage = RefreshRuntime.validateRefreshBoundaryAndEnqueueUpdate("/Users/kerry/Documents/GitHub/8g-extension/src/content/components/ExecutionStatusUI.tsx", currentExports, nextExports);
220
- if (invalidateMessage) import.meta.hot.invalidate(invalidateMessage);
221
- });
222
- });
223
- }
@@ -1,51 +0,0 @@
1
- import { ElementSelector } from "/src/content/elements/finders/ElementSelector.ts.js";
2
- export class CssSelector extends ElementSelector {
3
- async find(data, documentCtx = document) {
4
- const { selector, option } = data;
5
- const { multiple = false } = option || {};
6
- try {
7
- const processedSelector = this.processCustomPseudoSelectors(selector, documentCtx);
8
- if (multiple) {
9
- return Array.from(documentCtx.querySelectorAll(processedSelector));
10
- } else {
11
- return documentCtx.querySelector(processedSelector);
12
- }
13
- } catch (error) {
14
- console.error("CSS Selector error:", error);
15
- return null;
16
- }
17
- }
18
- processCustomPseudoSelectors(selector, documentCtx) {
19
- const containsRegex = /:contains\(['"]([^'"]*)['"]\)/g;
20
- if (containsRegex.test(selector)) {
21
- this.markElementsWithText(documentCtx);
22
- return selector.replace(
23
- /:contains\(['"]([^'"]*)['"]\)/g,
24
- (_match, text) => `[data-contains="${text}"]`
25
- );
26
- }
27
- const equalRegex = /:equal\(['"]([^'"]*)['"]\)/g;
28
- if (equalRegex.test(selector)) {
29
- this.markElementsWithText(documentCtx);
30
- return selector.replace(
31
- /:equal\(['"]([^'"]*)['"]\)/g,
32
- (_match, text) => `[data-equal="${text}"]`
33
- );
34
- }
35
- return selector;
36
- }
37
- markElementsWithText(documentCtx) {
38
- const allElements = documentCtx.querySelectorAll("*");
39
- allElements.forEach((element) => {
40
- const text = element.textContent?.trim() || "";
41
- if (text) {
42
- element.setAttribute("data-contains", text);
43
- const childNodes = Array.from(element.childNodes);
44
- const directText = childNodes.filter((node) => node.nodeType === Node.TEXT_NODE).map((node) => node.textContent?.trim() || "").join(" ").trim();
45
- if (directText && directText === text || element.children.length === 0 && text) {
46
- element.setAttribute("data-equal", text);
47
- }
48
- }
49
- });
50
- }
51
- }
@@ -1,20 +0,0 @@
1
- export class ElementSelector {
2
- async waitForElement(data, documentCtx, timeout) {
3
- return new Promise((resolve) => {
4
- const startTime = Date.now();
5
- const checkElement = async () => {
6
- const element = await this.find(data, documentCtx);
7
- if (element && (Array.isArray(element) ? element.length > 0 : true)) {
8
- resolve(element);
9
- return;
10
- }
11
- if (Date.now() - startTime >= timeout) {
12
- resolve(null);
13
- return;
14
- }
15
- setTimeout(checkElement, 100);
16
- };
17
- checkElement();
18
- });
19
- }
20
- }
@@ -1,32 +0,0 @@
1
- import { ElementSelector } from "/src/content/elements/finders/ElementSelector.ts.js";
2
- export class IframSelector extends ElementSelector {
3
- async find(data, documentCtx = document) {
4
- const { selector, option } = data;
5
- const { multiple = false } = option || {};
6
- if (!selector || selector.trim() === "") {
7
- return null;
8
- }
9
- const parts = selector.split("|>").map((part) => part.trim());
10
- if (parts.length !== 2) {
11
- return null;
12
- }
13
- const iframeSelector = parts[0];
14
- const targetSelector = parts[1];
15
- if (!iframeSelector || !targetSelector) {
16
- return null;
17
- }
18
- try {
19
- const iframe = documentCtx.querySelector(iframeSelector);
20
- if (!iframe || !iframe.contentDocument) return null;
21
- const iframeDoc = iframe.contentDocument;
22
- if (multiple) {
23
- return Array.from(iframeDoc.querySelectorAll(targetSelector));
24
- } else {
25
- return iframeDoc.querySelector(targetSelector);
26
- }
27
- } catch (error) {
28
- console.error("Iframe Selector error:", error);
29
- return null;
30
- }
31
- }
32
- }
@@ -1,38 +0,0 @@
1
- import { ElementSelector } from "/src/content/elements/finders/ElementSelector.ts.js";
2
- export class ShadowDOMSelector extends ElementSelector {
3
- async find(data, documentCtx = document) {
4
- const { selector, option } = data;
5
- const { multiple = false } = option || {};
6
- if (!selector || selector.trim() === "") {
7
- return null;
8
- }
9
- const parts = selector.split(">>").map((part) => part.trim());
10
- let currentContext = documentCtx;
11
- try {
12
- for (let i = 0; i < parts.length; i++) {
13
- const part = parts[i];
14
- const isLast = i === parts.length - 1;
15
- if (!part) {
16
- return null;
17
- }
18
- if (isLast && multiple) {
19
- return Array.from(currentContext.querySelectorAll(part));
20
- }
21
- const element = currentContext.querySelector(part);
22
- if (!element) return null;
23
- if (isLast) {
24
- return element;
25
- }
26
- if (element.shadowRoot) {
27
- currentContext = element.shadowRoot;
28
- } else {
29
- return null;
30
- }
31
- }
32
- } catch (error) {
33
- console.error("Shadow DOM Selector error:", error);
34
- return null;
35
- }
36
- return null;
37
- }
38
- }
@@ -1,32 +0,0 @@
1
- import { ElementSelector } from "/src/content/elements/finders/ElementSelector.ts.js";
2
- export class XPathSelector extends ElementSelector {
3
- async find(data, documentCtx = document) {
4
- const { selector, option } = data;
5
- const { multiple = false } = option || {};
6
- try {
7
- const result = documentCtx.evaluate(
8
- selector,
9
- documentCtx,
10
- null,
11
- multiple ? XPathResult.ORDERED_NODE_SNAPSHOT_TYPE : XPathResult.FIRST_ORDERED_NODE_TYPE,
12
- null
13
- );
14
- if (multiple) {
15
- const nodes = [];
16
- for (let i = 0; i < result.snapshotLength; i++) {
17
- const node = result.snapshotItem(i);
18
- if (node && node.nodeType === Node.ELEMENT_NODE) {
19
- nodes.push(node);
20
- }
21
- }
22
- return Promise.resolve(nodes.length > 0 ? nodes : null);
23
- } else {
24
- const node = result.singleNodeValue;
25
- return node && node.nodeType === Node.ELEMENT_NODE ? node : null;
26
- }
27
- } catch (error) {
28
- console.error("XPath error:", error);
29
- return null;
30
- }
31
- }
32
- }
@@ -1,26 +0,0 @@
1
- import { CssSelector } from "/src/content/elements/finders/CssSelector.ts.js";
2
- import { IframSelector } from "/src/content/elements/finders/IframeSelector.ts.js";
3
- import { ShadowDOMSelector } from "/src/content/elements/finders/ShadowDOMSelector.ts.js";
4
- import { XPathSelector } from "/src/content/elements/finders/XPathFinder.ts.js";
5
- export async function findElement(data, documentCtx = document) {
6
- const { selector, findBy = "cssSelector", option } = data;
7
- const { waitForSelector = false, waitSelectorTimeout = 5e3 } = option || {};
8
- const selectorInstance = buildSelector(selector, findBy);
9
- if (waitForSelector) {
10
- return selectorInstance.waitForElement(data, documentCtx, waitSelectorTimeout);
11
- }
12
- return selectorInstance.find(data, documentCtx);
13
- }
14
- function buildSelector(selector, findBy) {
15
- if (findBy === "xpath") {
16
- return new XPathSelector();
17
- }
18
- if (selector.includes(">>")) {
19
- return new ShadowDOMSelector();
20
- }
21
- if (selector.includes("|>")) {
22
- return new IframSelector();
23
- }
24
- return new CssSelector();
25
- }
26
- export { CSSSelectorGenerator } from "/src/content/elements/utils/CSSSelectorGenerator.ts.js";