@farm.js/core 0.1.17 → 0.1.18

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 (249) hide show
  1. package/dist/after.cjs +12 -225
  2. package/dist/agent-runtime.cjs +83 -2800
  3. package/dist/api/client.cjs +17 -4060
  4. package/dist/api/route-manager.cjs +34 -4354
  5. package/dist/api/runtime.cjs +29 -2696
  6. package/dist/api.cjs +88 -8434
  7. package/dist/app-markdown.cjs +39 -280
  8. package/dist/cache.cjs +38 -1560
  9. package/dist/chunk-22GUSVNJ.cjs +351 -0
  10. package/dist/chunk-2CQ74SP6.cjs +13 -0
  11. package/dist/chunk-2SJ4RQ6P.cjs +57 -0
  12. package/dist/chunk-3376ZTRC.cjs +1 -0
  13. package/dist/{chunk-YD4J4XCI.mjs → chunk-3XG26Z3J.mjs} +1 -1
  14. package/dist/chunk-4PNUXIVU.cjs +472 -0
  15. package/dist/chunk-4PPEPOZZ.cjs +21 -0
  16. package/dist/chunk-4ZFL5GFN.cjs +520 -0
  17. package/dist/chunk-5OVTOKGH.cjs +65 -0
  18. package/dist/chunk-5QIKR7RR.cjs +224 -0
  19. package/dist/chunk-5ZSWG4UX.cjs +127 -0
  20. package/dist/chunk-62YJ2IEB.cjs +238 -0
  21. package/dist/chunk-6EODJYCX.cjs +183 -0
  22. package/dist/chunk-6EXBPJ24.cjs +434 -0
  23. package/dist/chunk-6QQDAAAZ.cjs +38 -0
  24. package/dist/chunk-6V4TDWEC.cjs +455 -0
  25. package/dist/chunk-72ADZ6GQ.cjs +19 -0
  26. package/dist/chunk-75BRBIFP.cjs +172 -0
  27. package/dist/chunk-7W3CPVXS.cjs +24 -0
  28. package/dist/chunk-A6WIQH5Z.cjs +31 -0
  29. package/dist/chunk-AFOD3LYZ.cjs +377 -0
  30. package/dist/chunk-AMDMVWMI.cjs +39 -0
  31. package/dist/chunk-AORPIPNB.cjs +552 -0
  32. package/dist/chunk-ARJWXNQL.cjs +256 -0
  33. package/dist/chunk-AWRISO2H.cjs +2199 -0
  34. package/dist/chunk-AYJR42WX.cjs +711 -0
  35. package/dist/chunk-B4CH33IG.cjs +644 -0
  36. package/dist/chunk-BIDYX3SL.cjs +91 -0
  37. package/dist/chunk-BSTRERPP.cjs +40 -0
  38. package/dist/chunk-BYODCJD6.cjs +663 -0
  39. package/dist/chunk-C3VRMB6H.cjs +85 -0
  40. package/dist/chunk-C5GUTBZK.cjs +173 -0
  41. package/dist/chunk-CIAGU2X4.cjs +337 -0
  42. package/dist/chunk-CMGMGHUZ.cjs +27 -0
  43. package/dist/chunk-CXP5U3RW.cjs +54 -0
  44. package/dist/chunk-D2ULAULS.cjs +166 -0
  45. package/dist/chunk-D7JTOLFK.cjs +285 -0
  46. package/dist/chunk-DVM4FKZL.cjs +169 -0
  47. package/dist/chunk-DYEJQTDN.cjs +49 -0
  48. package/dist/chunk-E2BMSZ2W.cjs +151 -0
  49. package/dist/chunk-E3UK5IIB.cjs +593 -0
  50. package/dist/chunk-EM6SBQKM.cjs +470 -0
  51. package/dist/chunk-FJSWYIR7.cjs +482 -0
  52. package/dist/chunk-FK6GO24V.cjs +54 -0
  53. package/dist/chunk-FXUUWYAX.cjs +654 -0
  54. package/dist/chunk-G3HRIVEY.cjs +395 -0
  55. package/dist/chunk-G643DQCH.cjs +13 -0
  56. package/dist/chunk-G7HXGLEC.cjs +175 -0
  57. package/dist/chunk-GDSHDTJ4.cjs +152 -0
  58. package/dist/chunk-GNEO2XOF.cjs +2040 -0
  59. package/dist/{chunk-56DAX2BE.mjs → chunk-GYKJCFTS.mjs} +1 -1
  60. package/dist/chunk-H6G5INWM.cjs +1094 -0
  61. package/dist/chunk-HBTUGXHS.cjs +180 -0
  62. package/dist/chunk-HREOKQWT.cjs +45 -0
  63. package/dist/chunk-I4J452B7.cjs +435 -0
  64. package/dist/chunk-I57LW5VZ.cjs +94 -0
  65. package/dist/chunk-I7PUUDGY.cjs +389 -0
  66. package/dist/chunk-IAMRBF3Z.cjs +86 -0
  67. package/dist/chunk-IKNRN4VS.cjs +14214 -0
  68. package/dist/chunk-IQXFRNY2.cjs +169 -0
  69. package/dist/chunk-IXTFU4PL.cjs +2355 -0
  70. package/dist/chunk-J2OP5GG3.cjs +725 -0
  71. package/dist/chunk-J3LOGE4T.cjs +42 -0
  72. package/dist/chunk-J7FSKED3.cjs +93 -0
  73. package/dist/chunk-JDNHKPTD.cjs +22 -0
  74. package/dist/chunk-JSROZYYO.cjs +164 -0
  75. package/dist/chunk-K6FNHVDR.cjs +696 -0
  76. package/dist/chunk-KGZIORNL.cjs +43 -0
  77. package/dist/{chunk-MVIWBEJF.mjs → chunk-KPNVGRBL.mjs} +1 -1
  78. package/dist/chunk-KR6CKSXT.cjs +15 -0
  79. package/dist/chunk-KROWKCUH.cjs +185 -0
  80. package/dist/chunk-KVFPGF2M.cjs +46 -0
  81. package/dist/chunk-LCCBO7PJ.cjs +46 -0
  82. package/dist/chunk-LIUGYUX3.cjs +22 -0
  83. package/dist/chunk-LTNGXMQ6.cjs +55 -0
  84. package/dist/chunk-M2L4MYDQ.cjs +14 -0
  85. package/dist/chunk-MCJLA63J.cjs +1 -0
  86. package/dist/chunk-MKB2EGIR.cjs +148 -0
  87. package/dist/chunk-MQ3H6LT5.cjs +202 -0
  88. package/dist/chunk-MT763TDW.cjs +43 -0
  89. package/dist/chunk-MWSK6C4J.cjs +18 -0
  90. package/dist/chunk-MWWVKDW3.cjs +169 -0
  91. package/dist/chunk-NO3WWW3N.cjs +192 -0
  92. package/dist/chunk-NV3A5DXM.cjs +862 -0
  93. package/dist/chunk-NWOD6NIT.cjs +9 -0
  94. package/dist/chunk-NZKJGRB3.cjs +230 -0
  95. package/dist/chunk-OAVTUMJP.cjs +1496 -0
  96. package/dist/chunk-OHY2ZWUG.cjs +25 -0
  97. package/dist/chunk-OI6CMLWX.cjs +47 -0
  98. package/dist/chunk-OIEOCXKG.cjs +453 -0
  99. package/dist/chunk-OWOUTKIJ.cjs +558 -0
  100. package/dist/chunk-OX6O6WVA.cjs +74 -0
  101. package/dist/chunk-OXSIH4D6.cjs +476 -0
  102. package/dist/chunk-OYEUREB6.cjs +35 -0
  103. package/dist/chunk-PCOTGFSM.cjs +139 -0
  104. package/dist/chunk-PZYCPSCC.cjs +35 -0
  105. package/dist/chunk-QBK2AA4U.cjs +445 -0
  106. package/dist/chunk-QBPXNZGV.cjs +487 -0
  107. package/dist/chunk-QNPEUFHQ.cjs +27 -0
  108. package/dist/chunk-QZRVZSPN.cjs +236 -0
  109. package/dist/chunk-R5A5KNVX.cjs +20 -0
  110. package/dist/chunk-R5JIFR6B.cjs +42 -0
  111. package/dist/chunk-R6AIILII.cjs +193 -0
  112. package/dist/chunk-RG3ZOTG5.cjs +34 -0
  113. package/dist/chunk-ROUTX2E5.cjs +390 -0
  114. package/dist/chunk-RTHIVJ2G.cjs +54 -0
  115. package/dist/chunk-S3A45T7F.cjs +166 -0
  116. package/dist/chunk-S3JO3N4H.cjs +17 -0
  117. package/dist/chunk-SK35NQKK.cjs +27 -0
  118. package/dist/chunk-SU7MH53P.cjs +180 -0
  119. package/dist/chunk-SVRTJOUF.cjs +113 -0
  120. package/dist/chunk-SWN467MP.cjs +18 -0
  121. package/dist/chunk-SYQ3MOWW.cjs +73 -0
  122. package/dist/chunk-T5CERMEH.cjs +417 -0
  123. package/dist/chunk-TFAXUHWX.cjs +206 -0
  124. package/dist/chunk-TIWHTW3Q.cjs +24 -0
  125. package/dist/chunk-TKJZFIML.cjs +20 -0
  126. package/dist/chunk-TKNSDBBN.cjs +193 -0
  127. package/dist/chunk-TWGMSEHX.cjs +525 -0
  128. package/dist/chunk-TYQUSXUG.cjs +1357 -0
  129. package/dist/chunk-U4KT7QP3.cjs +23 -0
  130. package/dist/chunk-UJ2C4ICS.cjs +277 -0
  131. package/dist/chunk-UN5GHC5V.cjs +10244 -0
  132. package/dist/chunk-UQZ4AYTH.cjs +168 -0
  133. package/dist/chunk-US2QVW3E.cjs +36 -0
  134. package/dist/chunk-VB6UCX3V.cjs +421 -0
  135. package/dist/chunk-VEKFLAQM.cjs +300 -0
  136. package/dist/chunk-VQDBNVOO.cjs +14 -0
  137. package/dist/chunk-W4E7WMXE.cjs +71 -0
  138. package/dist/chunk-WJ3HK3LJ.cjs +1102 -0
  139. package/dist/chunk-WMAPPDMM.cjs +28 -0
  140. package/dist/chunk-WMOGFOUJ.cjs +223 -0
  141. package/dist/chunk-WPYFSQKK.cjs +37 -0
  142. package/dist/chunk-WZMNW2IW.cjs +1415 -0
  143. package/dist/chunk-XGC343EY.cjs +443 -0
  144. package/dist/chunk-XSKZORAS.cjs +727 -0
  145. package/dist/chunk-XWAWFQFS.cjs +82 -0
  146. package/dist/chunk-Y4YMF2NQ.cjs +460 -0
  147. package/dist/chunk-Y4YWHNKU.cjs +250 -0
  148. package/dist/chunk-Y53ZSFN6.cjs +504 -0
  149. package/dist/chunk-YA6LLTIJ.cjs +411 -0
  150. package/dist/chunk-YFPGHF5F.cjs +202 -0
  151. package/dist/chunk-YJRZR7VU.cjs +28 -0
  152. package/dist/chunk-YTAABQEV.cjs +1 -0
  153. package/dist/chunk-YX3DBN4M.cjs +18 -0
  154. package/dist/chunk-YZTASLPQ.cjs +64 -0
  155. package/dist/chunk-Z5HIWVDP.cjs +2173 -0
  156. package/dist/chunk-ZEG3OPIB.cjs +93 -0
  157. package/dist/chunk-ZMN3H73H.cjs +155 -0
  158. package/dist/client/lifecycle.cjs +6 -35
  159. package/dist/client-plugins.cjs +7 -448
  160. package/dist/client.cjs +171 -9808
  161. package/dist/config.cjs +8 -36
  162. package/dist/cron.cjs +24 -491
  163. package/dist/deferred.cjs +26 -475
  164. package/dist/deployment.cjs +39 -210
  165. package/dist/devtools-OUIPHVV6.cjs +388 -0
  166. package/dist/devtools-client-4WAPJY5L.cjs +254 -0
  167. package/dist/devtools-ui-5GBDIGMK.cjs +1296 -0
  168. package/dist/docs.cjs +46 -5657
  169. package/dist/env-types.cjs +5 -226
  170. package/dist/env.cjs +21 -338
  171. package/dist/environment/vite.cjs +8 -372
  172. package/dist/environment.cjs +12 -94
  173. package/dist/font.cjs +13 -63
  174. package/dist/headers.cjs +7 -123
  175. package/dist/i18n/client.cjs +55 -294
  176. package/dist/i18n/index.cjs +22 -209
  177. package/dist/i18n/server.cjs +22 -745
  178. package/dist/image/server.cjs +13 -729
  179. package/dist/image/sharp.cjs +33 -171
  180. package/dist/image.cjs +41 -85
  181. package/dist/index.cjs +1151 -68080
  182. package/dist/index.mjs +3 -3
  183. package/dist/instrumentation.cjs +12 -138
  184. package/dist/integration-orm-55F7CII5.cjs +13 -0
  185. package/dist/integrations.cjs +55 -4090
  186. package/dist/internal/app-markdown-runtime.cjs +27 -224
  187. package/dist/internal/build-runtime.cjs +120 -52259
  188. package/dist/internal/build-runtime.mjs +3 -3
  189. package/dist/internal/cli-runtime.cjs +67 -13811
  190. package/dist/internal/client-error-overlay.cjs +80 -733
  191. package/dist/internal/client-error-overlay.mjs +1 -1
  192. package/dist/internal/client-runtime.cjs +81 -913
  193. package/dist/internal/compression-runtime.cjs +8 -214
  194. package/dist/internal/config-runtime.cjs +42 -6547
  195. package/dist/internal/docs-precompiled-runtime.cjs +26 -46
  196. package/dist/internal/infra-analytics-runtime.cjs +10 -536
  197. package/dist/internal/isolated-boundary.cjs +14 -414
  198. package/dist/internal/metadata-image-runtime.cjs +7 -285
  199. package/dist/internal/product-telemetry-runtime.cjs +42 -97
  200. package/dist/internal/product-telemetry-runtime.mjs +1 -1
  201. package/dist/internal/production-node-env.cjs +6 -63
  202. package/dist/internal/production-runtime.cjs +418 -7133
  203. package/dist/internal/request-cookies.cjs +6 -54
  204. package/dist/json-ld.cjs +24 -50
  205. package/dist/layers-E4WPJNY5.cjs +17 -0
  206. package/dist/manager-G4B2IPYE.cjs +14 -0
  207. package/dist/markdown.cjs +21 -547
  208. package/dist/middleware.cjs +36 -2995
  209. package/dist/navigation.cjs +22 -2588
  210. package/dist/nitro-4I2MYLY2.cjs +652 -0
  211. package/dist/observability.cjs +22 -614
  212. package/dist/og.cjs +5 -28
  213. package/dist/plugin.cjs +106 -37442
  214. package/dist/plugin.mjs +2 -2
  215. package/dist/query/client.cjs +113 -449
  216. package/dist/query/index.cjs +26 -288
  217. package/dist/query/parsers.cjs +23 -247
  218. package/dist/query/server.cjs +36 -298
  219. package/dist/renderer/react/client.cjs +9 -43
  220. package/dist/renderer/react/server.cjs +40 -103
  221. package/dist/renderer/react/vite.cjs +7 -29
  222. package/dist/renderer-client.cjs +126 -4295
  223. package/dist/renderer.cjs +31 -249
  224. package/dist/request.cjs +5 -68
  225. package/dist/router.cjs +11 -474
  226. package/dist/routes.cjs +42 -2461
  227. package/dist/schema-dev-notice-MXSZMVDG.cjs +56 -0
  228. package/dist/schema.cjs +6 -33
  229. package/dist/search-client-G3RICOFU.cjs +13 -0
  230. package/dist/server-action-security.cjs +25 -541
  231. package/dist/server-fn-client.cjs +6 -337
  232. package/dist/server-fn.cjs +32 -1841
  233. package/dist/server-plugins.cjs +15 -884
  234. package/dist/server-query-client.cjs +15 -1883
  235. package/dist/server-query.cjs +16 -1838
  236. package/dist/server.cjs +296 -44681
  237. package/dist/server.mjs +2 -2
  238. package/dist/storage.cjs +57 -576
  239. package/dist/testing.cjs +89 -3186
  240. package/dist/theme/client.cjs +13 -108
  241. package/dist/theme/index.cjs +6 -68
  242. package/dist/theme/runtime.cjs +13 -78
  243. package/dist/theme/server.cjs +10 -179
  244. package/dist/version.cjs +4 -32
  245. package/dist/version.mjs +1 -1
  246. package/dist/vite.cjs +119 -37773
  247. package/dist/vite.mjs +2 -2
  248. package/dist/workflows.cjs +19 -1040
  249. package/package.json +1 -1
@@ -0,0 +1,254 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkYJRZR7VUcjs = require('./chunk-YJRZR7VU.cjs');
5
+
6
+
7
+ var _chunkS3JO3N4Hcjs = require('./chunk-S3JO3N4H.cjs');
8
+
9
+ // src/devtools-client.ts
10
+ function parseShortcut(shortcut) {
11
+ const tokens = shortcut.toLowerCase().split("+").map((token) => token.trim()).filter(Boolean);
12
+ const key = tokens.find(
13
+ (token) => !["alt", "ctrl", "control", "meta", "cmd", "command", "mod", "shift"].includes(token)
14
+ );
15
+ if (!key) {
16
+ return null;
17
+ }
18
+ return {
19
+ key,
20
+ alt: tokens.includes("alt"),
21
+ ctrl: tokens.includes("ctrl") || tokens.includes("control"),
22
+ meta: tokens.includes("meta") || tokens.includes("cmd") || tokens.includes("command"),
23
+ mod: tokens.includes("mod"),
24
+ shift: tokens.includes("shift")
25
+ };
26
+ }
27
+ _chunkS3JO3N4Hcjs.__name.call(void 0, parseShortcut, "parseShortcut");
28
+ function generateFarmDevtoolsClientRuntime(config) {
29
+ if (!config.enabled) {
30
+ return "";
31
+ }
32
+ const shortcut = config.shortcut ? parseShortcut(config.shortcut) : null;
33
+ const overlayStyles = `
34
+ #__farm_devtools_overlay__ {
35
+ position: fixed;
36
+ inset: 0;
37
+ z-index: 2147483646;
38
+ display: grid;
39
+ place-items: center;
40
+ box-sizing: border-box;
41
+ padding: 20px;
42
+ background: rgb(0 0 0 / 0);
43
+ backdrop-filter: blur(6px);
44
+ -webkit-backdrop-filter: blur(6px);
45
+ overscroll-behavior: none;
46
+ isolation: isolate;
47
+ opacity: 0;
48
+ pointer-events: none;
49
+ transition: opacity 150ms ease-out;
50
+ }
51
+ #__farm_devtools_overlay__[data-open="true"] {
52
+ background: rgb(0 0 0 / 0.32);
53
+ opacity: 1;
54
+ pointer-events: auto;
55
+ }
56
+ #__farm_devtools_overlay__ > iframe {
57
+ display: block;
58
+ width: min(1100px, calc(100vw - 48px));
59
+ height: min(720px, calc(100dvh - 48px));
60
+ border: 0;
61
+ border-radius: 12px;
62
+ background: transparent;
63
+ box-shadow: 0 24px 80px rgb(0 0 0 / 0.48), 0 4px 18px rgb(0 0 0 / 0.24);
64
+ transform: scale(0.985) translateY(4px);
65
+ transition: transform 150ms ease-out;
66
+ }
67
+ #__farm_devtools_overlay__[data-open="true"] > iframe {
68
+ transform: scale(1) translateY(0);
69
+ }
70
+ @media (max-width: 700px) {
71
+ #__farm_devtools_overlay__ { padding: 8px; }
72
+ #__farm_devtools_overlay__ > iframe {
73
+ width: calc(100vw - 16px);
74
+ height: calc(100dvh - 16px);
75
+ border-radius: 12px;
76
+ }
77
+ }
78
+ @media (prefers-reduced-motion: reduce) {
79
+ #__farm_devtools_overlay__, #__farm_devtools_overlay__ > iframe { transition: none; }
80
+ }
81
+ `;
82
+ return `
83
+ (() => {
84
+ const overlayId = "__farm_devtools_overlay__";
85
+ const styleId = "__farm_devtools_overlay_styles__";
86
+ const runtimeKey = "__FARM_DEVTOOLS_RUNTIME__";
87
+ const launchParam = ${JSON.stringify(_chunkYJRZR7VUcjs.FARM_DEVTOOLS_LAUNCH_PARAM)};
88
+ const devtoolsPath = ${JSON.stringify(_chunkYJRZR7VUcjs.FARM_DEVTOOLS_PATH)};
89
+ const validViews = new Set(["overview", "routes", "api", "systems", "runtime", "raw", "inspect", "diagnostics"]);
90
+ const shortcut = ${JSON.stringify(shortcut)};
91
+ const isMac = /Mac|iPhone|iPad|iPod/.test(navigator.platform);
92
+ let returnFocus = null;
93
+ let restorePage = null;
94
+ let closeTimer = null;
95
+
96
+ const lockPage = () => {
97
+ const styles = [];
98
+ for (const element of [document.documentElement, document.body]) {
99
+ for (const [property, value] of [["overflow-x", "hidden"], ["overflow-y", "hidden"], ["overscroll-behavior", "none"]]) {
100
+ const previous = element.style.getPropertyValue(property);
101
+ const priority = element.style.getPropertyPriority(property);
102
+ element.style.setProperty(property, value, "important");
103
+ styles.push({ element, property, value, previous, priority });
104
+ }
105
+ }
106
+ return () => {
107
+ for (const { element, property, value, previous, priority } of styles) {
108
+ // Do not overwrite a newer style set by the application while the panel was open.
109
+ if (element.style.getPropertyValue(property) !== value || element.style.getPropertyPriority(property) !== "important") continue;
110
+ if (previous) element.style.setProperty(property, previous, priority);
111
+ else element.style.removeProperty(property);
112
+ }
113
+ };
114
+ };
115
+
116
+ const matchesShortcut = (event) => {
117
+ if (!shortcut || event.repeat) return false;
118
+ const expectedCtrl = shortcut.ctrl || (shortcut.mod && !isMac);
119
+ const expectedMeta = shortcut.meta || (shortcut.mod && isMac);
120
+ if (
121
+ Boolean(event.altKey) !== shortcut.alt ||
122
+ Boolean(event.ctrlKey) !== expectedCtrl ||
123
+ Boolean(event.metaKey) !== expectedMeta ||
124
+ Boolean(event.shiftKey) !== shortcut.shift
125
+ ) return false;
126
+
127
+ if (shortcut.key === "." || shortcut.key === "period") return event.code === "Period";
128
+ if (shortcut.key === "," || shortcut.key === "comma") return event.code === "Comma";
129
+ if (shortcut.key === "/" || shortcut.key === "slash") return event.code === "Slash";
130
+ return String(event.key || "").toLowerCase() === shortcut.key;
131
+ };
132
+
133
+ const ensureStyles = () => {
134
+ if (document.getElementById(styleId)) return;
135
+ const style = document.createElement("style");
136
+ style.id = styleId;
137
+ style.textContent = ${JSON.stringify(overlayStyles)};
138
+ document.head.appendChild(style);
139
+ };
140
+
141
+ const finishClose = () => {
142
+ if (closeTimer !== null) window.clearTimeout(closeTimer);
143
+ closeTimer = null;
144
+ const overlay = document.getElementById(overlayId);
145
+ overlay?.remove();
146
+ restorePage?.();
147
+ restorePage = null;
148
+ const focusTarget = returnFocus;
149
+ returnFocus = null;
150
+ focusTarget?.focus?.({ preventScroll: true });
151
+ };
152
+
153
+ const close = () => {
154
+ const overlay = document.getElementById(overlayId);
155
+ if (!overlay || closeTimer !== null) return;
156
+ overlay.dataset.open = "false";
157
+ closeTimer = window.setTimeout(finishClose, 160);
158
+ };
159
+
160
+ const open = (view = "overview") => {
161
+ if (closeTimer !== null) finishClose();
162
+ if (document.getElementById(overlayId)) return;
163
+ ensureStyles();
164
+ returnFocus = document.activeElement;
165
+ restorePage = lockPage();
166
+ const overlay = document.createElement("div");
167
+ overlay.id = overlayId;
168
+ overlay.setAttribute("role", "dialog");
169
+ overlay.setAttribute("aria-modal", "true");
170
+ overlay.setAttribute("aria-label", "Farm.js DevTools overlay");
171
+ const frame = document.createElement("iframe");
172
+ const resolvedView = validViews.has(view) ? view : "overview";
173
+ frame.src = devtoolsPath + "?embedded=1" + (resolvedView === "overview" ? "" : "#" + resolvedView);
174
+ frame.title = "Farm.js DevTools";
175
+ frame.addEventListener("load", () => frame.contentWindow?.focus(), { once: true });
176
+ overlay.appendChild(frame);
177
+ overlay.addEventListener("pointerdown", (event) => {
178
+ if (event.target === overlay) close();
179
+ });
180
+ overlay.addEventListener("wheel", (event) => event.preventDefault(), { passive: false });
181
+ overlay.addEventListener("touchmove", (event) => event.preventDefault(), { passive: false });
182
+ document.body.appendChild(overlay);
183
+ requestAnimationFrame(() => {
184
+ if (overlay.isConnected && closeTimer === null) overlay.dataset.open = "true";
185
+ });
186
+ };
187
+
188
+ const toggle = () => {
189
+ if (document.getElementById(overlayId)) close();
190
+ else open();
191
+ };
192
+
193
+ const onKeydown = (event) => {
194
+ if (event.key === "Escape" && document.getElementById(overlayId)) {
195
+ event.preventDefault();
196
+ close();
197
+ return;
198
+ }
199
+ if (!matchesShortcut(event)) return;
200
+ event.preventDefault();
201
+ event.stopPropagation();
202
+ toggle();
203
+ };
204
+
205
+ const onMessage = (event) => {
206
+ if (event.origin !== location.origin) return;
207
+ const frame = document.querySelector("#" + overlayId + " > iframe");
208
+ if (!frame || event.source !== frame.contentWindow) return;
209
+ if (event.data?.type === "farm:devtools:close") close();
210
+ if (event.data?.type === "farm:devtools:keydown" && matchesShortcut(event.data.event || {})) close();
211
+ };
212
+
213
+ window[runtimeKey]?.dispose?.();
214
+ window.addEventListener("keydown", onKeydown, true);
215
+ window.addEventListener("message", onMessage);
216
+ window[runtimeKey] = {
217
+ dispose() {
218
+ finishClose();
219
+ window.removeEventListener("keydown", onKeydown, true);
220
+ window.removeEventListener("message", onMessage);
221
+ },
222
+ };
223
+ window.__FARM_DEVTOOLS__ = { open, close, toggle };
224
+
225
+ const launchUrl = new URL(location.href);
226
+ const launchRequest = launchUrl.searchParams.get(launchParam);
227
+ if (launchRequest !== null) {
228
+ const hashView = launchUrl.hash.slice(1);
229
+ const launchView = validViews.has(launchRequest)
230
+ ? launchRequest
231
+ : validViews.has(hashView)
232
+ ? hashView
233
+ : "overview";
234
+ launchUrl.searchParams.delete(launchParam);
235
+ if (validViews.has(hashView)) launchUrl.hash = "";
236
+ history.replaceState(
237
+ history.state,
238
+ "",
239
+ launchUrl.pathname + launchUrl.search + launchUrl.hash,
240
+ );
241
+ const launch = () => requestAnimationFrame(() => open(launchView));
242
+ if (document.readyState === "loading") {
243
+ document.addEventListener("DOMContentLoaded", launch, { once: true });
244
+ } else {
245
+ launch();
246
+ }
247
+ }
248
+ })();
249
+ `;
250
+ }
251
+ _chunkS3JO3N4Hcjs.__name.call(void 0, generateFarmDevtoolsClientRuntime, "generateFarmDevtoolsClientRuntime");
252
+
253
+
254
+ exports.generateFarmDevtoolsClientRuntime = generateFarmDevtoolsClientRuntime;