@multiplatform.one/core 7.83.0 → 7.83.2

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 (136) hide show
  1. package/dist/cjs/app/CreateApp.cjs +233 -0
  2. package/dist/cjs/app/CreateApp.native.js +253 -0
  3. package/dist/cjs/app/CreateApp.native.js.map +1 -0
  4. package/dist/cjs/app/CreateRootLayout.cjs +181 -0
  5. package/dist/cjs/app/CreateRootLayout.native.js +115 -0
  6. package/dist/cjs/app/CreateRootLayout.native.js.map +1 -0
  7. package/dist/cjs/app/RuntimePublicConfigScript.cjs +40 -0
  8. package/dist/cjs/app/RuntimePublicConfigScript.native.js +48 -0
  9. package/dist/cjs/app/RuntimePublicConfigScript.native.js.map +1 -0
  10. package/dist/cjs/app/TanstackDevtools.cjs +145 -0
  11. package/dist/cjs/app/TanstackDevtools.native.js +163 -0
  12. package/dist/cjs/app/TanstackDevtools.native.js.map +1 -0
  13. package/dist/cjs/app/TanstackProvider.cjs +81 -0
  14. package/dist/cjs/app/TanstackProvider.native.js +56 -0
  15. package/dist/cjs/app/TanstackProvider.native.js.map +1 -0
  16. package/dist/cjs/app/deepLinkPath.cjs +41 -0
  17. package/dist/cjs/app/deepLinkPath.native.js +46 -0
  18. package/dist/cjs/app/deepLinkPath.native.js.map +1 -0
  19. package/dist/cjs/app/devtoolsTrigger.cjs +281 -0
  20. package/dist/cjs/app/devtoolsTrigger.native.js +338 -0
  21. package/dist/cjs/app/devtoolsTrigger.native.js.map +1 -0
  22. package/dist/cjs/app/frappeSocketPort.cjs +40 -0
  23. package/dist/cjs/app/frappeSocketPort.native.js +45 -0
  24. package/dist/cjs/app/frappeSocketPort.native.js.map +1 -0
  25. package/dist/cjs/app/frappeSyncOptions.cjs +43 -0
  26. package/dist/cjs/app/frappeSyncOptions.native.js +46 -0
  27. package/dist/cjs/app/frappeSyncOptions.native.js.map +1 -0
  28. package/dist/cjs/app/index.cjs +22 -0
  29. package/dist/cjs/app/index.native.js +25 -0
  30. package/dist/cjs/app/index.native.js.map +1 -0
  31. package/dist/cjs/app/loadWalletProvider.cjs +32 -0
  32. package/dist/cjs/app/loadWalletProvider.native.js +44 -0
  33. package/dist/cjs/app/loadWalletProvider.native.js.map +1 -0
  34. package/dist/cjs/app/oneFrappeNavigation.cjs +45 -0
  35. package/dist/cjs/app/oneFrappeNavigation.native.js +52 -0
  36. package/dist/cjs/app/oneFrappeNavigation.native.js.map +1 -0
  37. package/dist/cjs/app/rootLayoutShared.cjs +18 -0
  38. package/dist/cjs/app/rootLayoutShared.native.js +21 -0
  39. package/dist/cjs/app/rootLayoutShared.native.js.map +1 -0
  40. package/dist/cjs/app/runtimePublicConfigMiddleware.cjs +50 -0
  41. package/dist/cjs/app/runtimePublicConfigMiddleware.native.js +55 -0
  42. package/dist/cjs/app/runtimePublicConfigMiddleware.native.js.map +1 -0
  43. package/dist/cjs/app/useNativeDeepLinks.cjs +28 -0
  44. package/dist/cjs/app/useNativeDeepLinks.native.js +56 -0
  45. package/dist/cjs/app/useNativeDeepLinks.native.js.map +1 -0
  46. package/dist/cjs/healthz.cjs +32 -0
  47. package/dist/cjs/healthz.native.js +35 -0
  48. package/dist/cjs/healthz.native.js.map +1 -0
  49. package/dist/cjs/index.cjs +21 -0
  50. package/dist/cjs/index.native.js +24 -0
  51. package/dist/cjs/index.native.js.map +1 -0
  52. package/dist/cjs/layouts/CreateDefaultLayout.cjs +99 -0
  53. package/dist/cjs/layouts/CreateDefaultLayout.native.js +105 -0
  54. package/dist/cjs/layouts/CreateDefaultLayout.native.js.map +1 -0
  55. package/dist/cjs/layouts/index.cjs +28 -0
  56. package/dist/cjs/layouts/index.native.js +31 -0
  57. package/dist/cjs/layouts/index.native.js.map +1 -0
  58. package/dist/esm/app/CreateApp.mjs +196 -0
  59. package/dist/esm/app/CreateApp.mjs.map +1 -0
  60. package/dist/esm/app/CreateApp.native.js +213 -0
  61. package/dist/esm/app/CreateApp.native.js.map +1 -0
  62. package/dist/esm/app/CreateRootLayout.mjs +145 -0
  63. package/dist/esm/app/CreateRootLayout.mjs.map +1 -0
  64. package/dist/esm/app/CreateRootLayout.native.js +76 -0
  65. package/dist/esm/app/CreateRootLayout.native.js.map +1 -0
  66. package/dist/esm/app/RuntimePublicConfigScript.mjs +15 -0
  67. package/dist/esm/app/RuntimePublicConfigScript.mjs.map +1 -0
  68. package/dist/esm/app/RuntimePublicConfigScript.native.js +20 -0
  69. package/dist/esm/app/RuntimePublicConfigScript.native.js.map +1 -0
  70. package/dist/esm/app/TanstackDevtools.mjs +109 -0
  71. package/dist/esm/app/TanstackDevtools.mjs.map +1 -0
  72. package/dist/esm/app/TanstackDevtools.native.js +124 -0
  73. package/dist/esm/app/TanstackDevtools.native.js.map +1 -0
  74. package/dist/esm/app/TanstackProvider.mjs +45 -0
  75. package/dist/esm/app/TanstackProvider.mjs.map +1 -0
  76. package/dist/esm/app/TanstackProvider.native.js +28 -0
  77. package/dist/esm/app/TanstackProvider.native.js.map +1 -0
  78. package/dist/esm/app/deepLinkPath.mjs +16 -0
  79. package/dist/esm/app/deepLinkPath.mjs.map +1 -0
  80. package/dist/esm/app/deepLinkPath.native.js +18 -0
  81. package/dist/esm/app/deepLinkPath.native.js.map +1 -0
  82. package/dist/esm/app/devtoolsTrigger.mjs +238 -0
  83. package/dist/esm/app/devtoolsTrigger.mjs.map +1 -0
  84. package/dist/esm/app/devtoolsTrigger.native.js +292 -0
  85. package/dist/esm/app/devtoolsTrigger.native.js.map +1 -0
  86. package/dist/esm/app/frappeSocketPort.mjs +15 -0
  87. package/dist/esm/app/frappeSocketPort.mjs.map +1 -0
  88. package/dist/esm/app/frappeSocketPort.native.js +17 -0
  89. package/dist/esm/app/frappeSocketPort.native.js.map +1 -0
  90. package/dist/esm/app/frappeSyncOptions.mjs +18 -0
  91. package/dist/esm/app/frappeSyncOptions.mjs.map +1 -0
  92. package/dist/esm/app/frappeSyncOptions.native.js +18 -0
  93. package/dist/esm/app/frappeSyncOptions.native.js.map +1 -0
  94. package/dist/esm/app/index.mjs +4 -0
  95. package/dist/esm/app/index.mjs.map +1 -0
  96. package/dist/esm/app/index.native.js +4 -0
  97. package/dist/esm/app/index.native.js.map +1 -0
  98. package/dist/esm/app/loadWalletProvider.mjs +7 -0
  99. package/dist/esm/app/loadWalletProvider.mjs.map +1 -0
  100. package/dist/esm/app/loadWalletProvider.native.js +16 -0
  101. package/dist/esm/app/loadWalletProvider.native.js.map +1 -0
  102. package/dist/esm/app/oneFrappeNavigation.mjs +20 -0
  103. package/dist/esm/app/oneFrappeNavigation.mjs.map +1 -0
  104. package/dist/esm/app/oneFrappeNavigation.native.js +24 -0
  105. package/dist/esm/app/oneFrappeNavigation.native.js.map +1 -0
  106. package/dist/esm/app/rootLayoutShared.mjs +2 -0
  107. package/dist/esm/app/rootLayoutShared.mjs.map +1 -0
  108. package/dist/esm/app/rootLayoutShared.native.js +2 -0
  109. package/dist/esm/app/rootLayoutShared.native.js.map +1 -0
  110. package/dist/esm/app/runtimePublicConfigMiddleware.mjs +25 -0
  111. package/dist/esm/app/runtimePublicConfigMiddleware.mjs.map +1 -0
  112. package/dist/esm/app/runtimePublicConfigMiddleware.native.js +27 -0
  113. package/dist/esm/app/runtimePublicConfigMiddleware.native.js.map +1 -0
  114. package/dist/esm/app/useNativeDeepLinks.mjs +3 -0
  115. package/dist/esm/app/useNativeDeepLinks.mjs.map +1 -0
  116. package/dist/esm/app/useNativeDeepLinks.native.js +28 -0
  117. package/dist/esm/app/useNativeDeepLinks.native.js.map +1 -0
  118. package/dist/esm/healthz.mjs +7 -0
  119. package/dist/esm/healthz.mjs.map +1 -0
  120. package/dist/esm/healthz.native.js +7 -0
  121. package/dist/esm/healthz.native.js.map +1 -0
  122. package/dist/esm/index.mjs +3 -0
  123. package/dist/esm/index.mjs.map +1 -0
  124. package/dist/esm/index.native.js +3 -0
  125. package/dist/esm/index.native.js.map +1 -0
  126. package/dist/esm/layouts/CreateDefaultLayout.mjs +74 -0
  127. package/dist/esm/layouts/CreateDefaultLayout.mjs.map +1 -0
  128. package/dist/esm/layouts/CreateDefaultLayout.native.js +77 -0
  129. package/dist/esm/layouts/CreateDefaultLayout.native.js.map +1 -0
  130. package/dist/esm/layouts/index.mjs +3 -0
  131. package/dist/esm/layouts/index.mjs.map +1 -0
  132. package/dist/esm/layouts/index.native.js +3 -0
  133. package/dist/esm/layouts/index.native.js.map +1 -0
  134. package/package.json +32 -16
  135. package/src/app/CreateApp.frappeAuth.spec.tsx +73 -0
  136. package/src/app/CreateApp.tsx +23 -23
@@ -0,0 +1,281 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var devtoolsTrigger_exports = {};
24
+ __export(devtoolsTrigger_exports, {
25
+ __resetMotionArming: () => __resetMotionArming,
26
+ armDevtoolsMotion: () => armDevtoolsMotion,
27
+ createMotionPermissionFlow: () => createMotionPermissionFlow,
28
+ createShakeDetector: () => createShakeDetector,
29
+ devtoolsArmMotionEvent: () => devtoolsArmMotionEvent,
30
+ devtoolsMotionArmedEvent: () => devtoolsMotionArmedEvent,
31
+ devtoolsOpenHotkey: () => devtoolsOpenHotkey,
32
+ devtoolsOpenRequestEvent: () => devtoolsOpenRequestEvent,
33
+ devtoolsShellStateKey: () => devtoolsShellStateKey,
34
+ isDevtoolsOpenHotkeyEvent: () => isDevtoolsOpenHotkeyEvent,
35
+ isDevtoolsShellOpen: () => isDevtoolsShellOpen,
36
+ isMotionPermissionRequired: () => isMotionPermissionRequired,
37
+ motionMagnitude: () => motionMagnitude,
38
+ openDevtoolsShell: () => openDevtoolsShell,
39
+ requestMotionPermissionFromGesture: () => requestMotionPermissionFromGesture,
40
+ shakeDefaults: () => shakeDefaults,
41
+ useDevtoolsKeyboardTrigger: () => useDevtoolsKeyboardTrigger,
42
+ useDevtoolsOpenRequests: () => useDevtoolsOpenRequests,
43
+ useShakeToOpen: () => useShakeToOpen
44
+ });
45
+ module.exports = __toCommonJS(devtoolsTrigger_exports);
46
+ var import_react = require("react");
47
+ const devtoolsOpenHotkey = ["CtrlOrMeta", "Shift", "~"];
48
+ function isDevtoolsOpenHotkeyEvent(event) {
49
+ if (!(event.metaKey || event.ctrlKey) || !event.shiftKey || event.altKey) {
50
+ return false;
51
+ }
52
+ if (event.code === "Backquote") return true;
53
+ return event.key === "`" || event.key === "~";
54
+ }
55
+ function useDevtoolsKeyboardTrigger(enabled) {
56
+ (0, import_react.useEffect)(() => {
57
+ if (!enabled || typeof window === "undefined" || typeof window.addEventListener !== "function") return;
58
+ const onKeyDown = event => {
59
+ if (!isDevtoolsOpenHotkeyEvent(event)) return;
60
+ event.preventDefault();
61
+ event.stopImmediatePropagation();
62
+ openDevtoolsShell();
63
+ };
64
+ window.addEventListener("keydown", onKeyDown, {
65
+ capture: true
66
+ });
67
+ return () => window.removeEventListener("keydown", onKeyDown, {
68
+ capture: true
69
+ });
70
+ }, [enabled]);
71
+ }
72
+ const devtoolsShellStateKey = "tanstack_devtools_state";
73
+ const devtoolsOpenRequestEvent = "mpo:devtools-open";
74
+ function shellStorage() {
75
+ try {
76
+ return typeof localStorage === "undefined" ? void 0 : localStorage;
77
+ } catch {
78
+ return void 0;
79
+ }
80
+ }
81
+ function readShellState(storage) {
82
+ try {
83
+ const parsed = JSON.parse(storage.getItem(devtoolsShellStateKey) ?? "null");
84
+ return parsed && typeof parsed === "object" ? parsed : {};
85
+ } catch {
86
+ return {};
87
+ }
88
+ }
89
+ function isDevtoolsShellOpen(storage = shellStorage()) {
90
+ return storage ? readShellState(storage).persistOpen === true : false;
91
+ }
92
+ function openDevtoolsShell(storage = shellStorage()) {
93
+ if (!storage || isDevtoolsShellOpen(storage)) return;
94
+ try {
95
+ storage.setItem(devtoolsShellStateKey, JSON.stringify({
96
+ ...readShellState(storage),
97
+ persistOpen: true
98
+ }));
99
+ } catch {
100
+ return;
101
+ }
102
+ if (typeof window !== "undefined" && typeof window.dispatchEvent === "function") window.dispatchEvent(new Event(devtoolsOpenRequestEvent));
103
+ }
104
+ function useDevtoolsOpenRequests() {
105
+ const [requests, setRequests] = (0, import_react.useState)(0);
106
+ (0, import_react.useEffect)(() => {
107
+ if (typeof window === "undefined" || typeof window.addEventListener !== "function") return;
108
+ const onRequest = () => setRequests(n => n + 1);
109
+ window.addEventListener(devtoolsOpenRequestEvent, onRequest);
110
+ return () => window.removeEventListener(devtoolsOpenRequestEvent, onRequest);
111
+ }, []);
112
+ return requests;
113
+ }
114
+ const gravityMs2 = 9.81;
115
+ const shakeDefaults = {
116
+ /** m/s² a sample must exceed to count as a shake peak. */
117
+ threshold: 12,
118
+ /** Minimum ms between counted peaks (one swing = one peak, not many samples). */
119
+ minPeakGapMs: 80,
120
+ /** Peaks required inside the rolling window to fire. */
121
+ peakCount: 3,
122
+ /** Rolling window (ms) the peaks must land in. */
123
+ windowMs: 1e3,
124
+ /** Dead time (ms) after firing before the detector re-arms. */
125
+ cooldownMs: 2e3
126
+ };
127
+ function motionMagnitude(event) {
128
+ const a = event.acceleration;
129
+ if (a && (a.x != null || a.y != null || a.z != null)) {
130
+ return Math.hypot(a.x ?? 0, a.y ?? 0, a.z ?? 0);
131
+ }
132
+ const g = event.accelerationIncludingGravity;
133
+ if (g && (g.x != null || g.y != null || g.z != null)) {
134
+ return Math.abs(Math.hypot(g.x ?? 0, g.y ?? 0, g.z ?? 0) - gravityMs2);
135
+ }
136
+ return null;
137
+ }
138
+ function createShakeDetector({
139
+ onShake,
140
+ threshold = shakeDefaults.threshold,
141
+ minPeakGapMs = shakeDefaults.minPeakGapMs,
142
+ peakCount = shakeDefaults.peakCount,
143
+ windowMs = shakeDefaults.windowMs,
144
+ cooldownMs = shakeDefaults.cooldownMs
145
+ }) {
146
+ let peaks = [];
147
+ let lastPeakAt = Number.NEGATIVE_INFINITY;
148
+ let cooldownUntil = Number.NEGATIVE_INFINITY;
149
+ function reset() {
150
+ peaks = [];
151
+ lastPeakAt = Number.NEGATIVE_INFINITY;
152
+ cooldownUntil = Number.NEGATIVE_INFINITY;
153
+ }
154
+ function handleMotion(event, now = Date.now()) {
155
+ if (now < cooldownUntil) return;
156
+ const magnitude = motionMagnitude(event);
157
+ if (magnitude == null || magnitude <= threshold) return;
158
+ if (now - lastPeakAt < minPeakGapMs) return;
159
+ lastPeakAt = now;
160
+ peaks = peaks.filter(at => now - at <= windowMs);
161
+ peaks.push(now);
162
+ if (peaks.length < peakCount) return;
163
+ peaks = [];
164
+ lastPeakAt = Number.NEGATIVE_INFINITY;
165
+ cooldownUntil = now + cooldownMs;
166
+ onShake();
167
+ }
168
+ return {
169
+ handleMotion,
170
+ reset
171
+ };
172
+ }
173
+ function createMotionPermissionFlow({
174
+ requestPermission,
175
+ onGranted,
176
+ onDenied
177
+ }) {
178
+ let state = requestPermission ? "awaiting-gesture" : "granted";
179
+ if (state === "granted") onGranted();
180
+ async function handleGesture() {
181
+ if (state !== "awaiting-gesture" || !requestPermission) return;
182
+ state = "requesting";
183
+ let result;
184
+ try {
185
+ result = await requestPermission();
186
+ } catch {
187
+ result = "denied";
188
+ }
189
+ if (result === "granted") {
190
+ state = "granted";
191
+ onGranted();
192
+ } else {
193
+ state = "denied";
194
+ onDenied?.();
195
+ }
196
+ }
197
+ return {
198
+ get state() {
199
+ return state;
200
+ },
201
+ handleGesture
202
+ };
203
+ }
204
+ function motionEventCtor() {
205
+ return globalThis.DeviceMotionEvent;
206
+ }
207
+ function isMotionPermissionRequired() {
208
+ return typeof motionEventCtor()?.requestPermission === "function";
209
+ }
210
+ const devtoolsArmMotionEvent = "mpo:devtools-arm-motion";
211
+ const devtoolsMotionArmedEvent = "mpo:devtools-motion-armed";
212
+ let motionGranted = false;
213
+ const motionAttachers = /* @__PURE__ */new Set();
214
+ function registerMotionAttacher(attach) {
215
+ if (motionGranted) {
216
+ attach();
217
+ return () => {};
218
+ }
219
+ motionAttachers.add(attach);
220
+ return () => {
221
+ motionAttachers.delete(attach);
222
+ };
223
+ }
224
+ function grantAndAttachAll() {
225
+ motionGranted = true;
226
+ for (const attach of motionAttachers) attach();
227
+ }
228
+ function __resetMotionArming() {
229
+ motionGranted = false;
230
+ motionAttachers.clear();
231
+ }
232
+ async function requestMotionPermissionFromGesture() {
233
+ if (motionGranted) return "granted";
234
+ const ctor = motionEventCtor();
235
+ const flow = createMotionPermissionFlow({
236
+ // Invoke as a static method on the constructor — a detached reference
237
+ // throws in WebKit.
238
+ requestPermission: typeof ctor?.requestPermission === "function" ? () => ctor.requestPermission() : void 0,
239
+ onGranted: grantAndAttachAll
240
+ });
241
+ if (flow.state !== "granted") await flow.handleGesture();
242
+ if (typeof window !== "undefined" && typeof window.dispatchEvent === "function") {
243
+ window.dispatchEvent(new CustomEvent(devtoolsMotionArmedEvent, {
244
+ detail: {
245
+ granted: flow.state === "granted"
246
+ }
247
+ }));
248
+ }
249
+ return flow.state;
250
+ }
251
+ function armDevtoolsMotion() {
252
+ if (typeof window === "undefined" || typeof window.dispatchEvent !== "function") return;
253
+ window.dispatchEvent(new Event(devtoolsArmMotionEvent));
254
+ }
255
+ function useShakeToOpen(enabled, onShake = openDevtoolsShell) {
256
+ (0, import_react.useEffect)(() => {
257
+ if (!enabled || typeof window === "undefined" || typeof window.addEventListener !== "function") return;
258
+ const detector = createShakeDetector({
259
+ onShake
260
+ });
261
+ const motionListener = event => detector.handleMotion(event);
262
+ const attach = () => window.addEventListener("devicemotion", motionListener, {
263
+ passive: true
264
+ });
265
+ const detach = () => window.removeEventListener("devicemotion", motionListener);
266
+ if (!isMotionPermissionRequired()) {
267
+ attach();
268
+ return detach;
269
+ }
270
+ const removeAttacher = registerMotionAttacher(attach);
271
+ const armListener = () => {
272
+ void requestMotionPermissionFromGesture();
273
+ };
274
+ window.addEventListener(devtoolsArmMotionEvent, armListener);
275
+ return () => {
276
+ detach();
277
+ removeAttacher();
278
+ window.removeEventListener(devtoolsArmMotionEvent, armListener);
279
+ };
280
+ }, [enabled, onShake]);
281
+ }
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var devtoolsTrigger_exports = {};
26
+ __export(devtoolsTrigger_exports, {
27
+ __resetMotionArming: () => __resetMotionArming,
28
+ armDevtoolsMotion: () => armDevtoolsMotion,
29
+ createMotionPermissionFlow: () => createMotionPermissionFlow,
30
+ createShakeDetector: () => createShakeDetector,
31
+ devtoolsArmMotionEvent: () => devtoolsArmMotionEvent,
32
+ devtoolsMotionArmedEvent: () => devtoolsMotionArmedEvent,
33
+ devtoolsOpenHotkey: () => devtoolsOpenHotkey,
34
+ devtoolsOpenRequestEvent: () => devtoolsOpenRequestEvent,
35
+ devtoolsShellStateKey: () => devtoolsShellStateKey,
36
+ isDevtoolsOpenHotkeyEvent: () => isDevtoolsOpenHotkeyEvent,
37
+ isDevtoolsShellOpen: () => isDevtoolsShellOpen,
38
+ isMotionPermissionRequired: () => isMotionPermissionRequired,
39
+ motionMagnitude: () => motionMagnitude,
40
+ openDevtoolsShell: () => openDevtoolsShell,
41
+ requestMotionPermissionFromGesture: () => requestMotionPermissionFromGesture,
42
+ shakeDefaults: () => shakeDefaults,
43
+ useDevtoolsKeyboardTrigger: () => useDevtoolsKeyboardTrigger,
44
+ useDevtoolsOpenRequests: () => useDevtoolsOpenRequests,
45
+ useShakeToOpen: () => useShakeToOpen
46
+ });
47
+ module.exports = __toCommonJS(devtoolsTrigger_exports);
48
+ var import_react = require("react");
49
+ function _type_of(obj) {
50
+ "@swc/helpers - typeof";
51
+
52
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
53
+ }
54
+ var devtoolsOpenHotkey = ["CtrlOrMeta", "Shift", "~"];
55
+ function isDevtoolsOpenHotkeyEvent(event) {
56
+ if (!(event.metaKey || event.ctrlKey) || !event.shiftKey || event.altKey) {
57
+ return false;
58
+ }
59
+ if (event.code === "Backquote") return true;
60
+ return event.key === "`" || event.key === "~";
61
+ }
62
+ function useDevtoolsKeyboardTrigger(enabled) {
63
+ (0, import_react.useEffect)(function () {
64
+ if (!enabled || typeof window === "undefined" || typeof window.addEventListener !== "function") return;
65
+ var onKeyDown = function onKeyDown2(event) {
66
+ if (!isDevtoolsOpenHotkeyEvent(event)) return;
67
+ event.preventDefault();
68
+ event.stopImmediatePropagation();
69
+ openDevtoolsShell();
70
+ };
71
+ window.addEventListener("keydown", onKeyDown, {
72
+ capture: true
73
+ });
74
+ return function () {
75
+ return window.removeEventListener("keydown", onKeyDown, {
76
+ capture: true
77
+ });
78
+ };
79
+ }, [enabled]);
80
+ }
81
+ var devtoolsShellStateKey = "tanstack_devtools_state";
82
+ var devtoolsOpenRequestEvent = "mpo:devtools-open";
83
+ function shellStorage() {
84
+ try {
85
+ return typeof localStorage === "undefined" ? void 0 : localStorage;
86
+ } catch (unused) {
87
+ return void 0;
88
+ }
89
+ }
90
+ function readShellState(storage) {
91
+ try {
92
+ var _storage_getItem;
93
+ var parsed = JSON.parse((_storage_getItem = storage.getItem(devtoolsShellStateKey)) !== null && _storage_getItem !== void 0 ? _storage_getItem : "null");
94
+ return parsed && (typeof parsed === "undefined" ? "undefined" : _type_of(parsed)) === "object" ? parsed : {};
95
+ } catch (unused) {
96
+ return {};
97
+ }
98
+ }
99
+ function isDevtoolsShellOpen() {
100
+ var storage = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : shellStorage();
101
+ return storage ? readShellState(storage).persistOpen === true : false;
102
+ }
103
+ function openDevtoolsShell() {
104
+ var storage = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : shellStorage();
105
+ if (!storage || isDevtoolsShellOpen(storage)) return;
106
+ try {
107
+ storage.setItem(devtoolsShellStateKey, JSON.stringify({
108
+ ...readShellState(storage),
109
+ persistOpen: true
110
+ }));
111
+ } catch (unused) {
112
+ return;
113
+ }
114
+ if (typeof window !== "undefined" && typeof window.dispatchEvent === "function") window.dispatchEvent(new Event(devtoolsOpenRequestEvent));
115
+ }
116
+ function useDevtoolsOpenRequests() {
117
+ var [requests, setRequests] = (0, import_react.useState)(0);
118
+ (0, import_react.useEffect)(function () {
119
+ if (typeof window === "undefined" || typeof window.addEventListener !== "function") return;
120
+ var onRequest = function onRequest2() {
121
+ return setRequests(function (n) {
122
+ return n + 1;
123
+ });
124
+ };
125
+ window.addEventListener(devtoolsOpenRequestEvent, onRequest);
126
+ return function () {
127
+ return window.removeEventListener(devtoolsOpenRequestEvent, onRequest);
128
+ };
129
+ }, []);
130
+ return requests;
131
+ }
132
+ var gravityMs2 = 9.81;
133
+ var shakeDefaults = {
134
+ /** m/s² a sample must exceed to count as a shake peak. */
135
+ threshold: 12,
136
+ /** Minimum ms between counted peaks (one swing = one peak, not many samples). */
137
+ minPeakGapMs: 80,
138
+ /** Peaks required inside the rolling window to fire. */
139
+ peakCount: 3,
140
+ /** Rolling window (ms) the peaks must land in. */
141
+ windowMs: 1e3,
142
+ /** Dead time (ms) after firing before the detector re-arms. */
143
+ cooldownMs: 2e3
144
+ };
145
+ function motionMagnitude(event) {
146
+ var a = event.acceleration;
147
+ if (a && (a.x != null || a.y != null || a.z != null)) {
148
+ var _a_x, _a_y, _a_z;
149
+ return Math.hypot((_a_x = a.x) !== null && _a_x !== void 0 ? _a_x : 0, (_a_y = a.y) !== null && _a_y !== void 0 ? _a_y : 0, (_a_z = a.z) !== null && _a_z !== void 0 ? _a_z : 0);
150
+ }
151
+ var g = event.accelerationIncludingGravity;
152
+ if (g && (g.x != null || g.y != null || g.z != null)) {
153
+ var _g_x, _g_y, _g_z;
154
+ return Math.abs(Math.hypot((_g_x = g.x) !== null && _g_x !== void 0 ? _g_x : 0, (_g_y = g.y) !== null && _g_y !== void 0 ? _g_y : 0, (_g_z = g.z) !== null && _g_z !== void 0 ? _g_z : 0) - gravityMs2);
155
+ }
156
+ return null;
157
+ }
158
+ function createShakeDetector(param) {
159
+ var {
160
+ onShake,
161
+ threshold = shakeDefaults.threshold,
162
+ minPeakGapMs = shakeDefaults.minPeakGapMs,
163
+ peakCount = shakeDefaults.peakCount,
164
+ windowMs = shakeDefaults.windowMs,
165
+ cooldownMs = shakeDefaults.cooldownMs
166
+ } = param;
167
+ var peaks = [];
168
+ var lastPeakAt = Number.NEGATIVE_INFINITY;
169
+ var cooldownUntil = Number.NEGATIVE_INFINITY;
170
+ function reset() {
171
+ peaks = [];
172
+ lastPeakAt = Number.NEGATIVE_INFINITY;
173
+ cooldownUntil = Number.NEGATIVE_INFINITY;
174
+ }
175
+ function handleMotion(event) {
176
+ var now = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Date.now();
177
+ if (now < cooldownUntil) return;
178
+ var magnitude = motionMagnitude(event);
179
+ if (magnitude == null || magnitude <= threshold) return;
180
+ if (now - lastPeakAt < minPeakGapMs) return;
181
+ lastPeakAt = now;
182
+ peaks = peaks.filter(function (at) {
183
+ return now - at <= windowMs;
184
+ });
185
+ peaks.push(now);
186
+ if (peaks.length < peakCount) return;
187
+ peaks = [];
188
+ lastPeakAt = Number.NEGATIVE_INFINITY;
189
+ cooldownUntil = now + cooldownMs;
190
+ onShake();
191
+ }
192
+ return {
193
+ handleMotion,
194
+ reset
195
+ };
196
+ }
197
+ function createMotionPermissionFlow(param) {
198
+ var {
199
+ requestPermission,
200
+ onGranted,
201
+ onDenied
202
+ } = param;
203
+ var state = requestPermission ? "awaiting-gesture" : "granted";
204
+ if (state === "granted") onGranted();
205
+ async function handleGesture() {
206
+ if (state !== "awaiting-gesture" || !requestPermission) return;
207
+ state = "requesting";
208
+ var result;
209
+ try {
210
+ result = await requestPermission();
211
+ } catch (unused) {
212
+ result = "denied";
213
+ }
214
+ if (result === "granted") {
215
+ state = "granted";
216
+ onGranted();
217
+ } else {
218
+ state = "denied";
219
+ onDenied === null || onDenied === void 0 ? void 0 : onDenied();
220
+ }
221
+ }
222
+ return {
223
+ get state() {
224
+ return state;
225
+ },
226
+ handleGesture
227
+ };
228
+ }
229
+ function motionEventCtor() {
230
+ return globalThis.DeviceMotionEvent;
231
+ }
232
+ function isMotionPermissionRequired() {
233
+ var _motionEventCtor;
234
+ return typeof ((_motionEventCtor = motionEventCtor()) === null || _motionEventCtor === void 0 ? void 0 : _motionEventCtor.requestPermission) === "function";
235
+ }
236
+ var devtoolsArmMotionEvent = "mpo:devtools-arm-motion";
237
+ var devtoolsMotionArmedEvent = "mpo:devtools-motion-armed";
238
+ var motionGranted = false;
239
+ var motionAttachers = /* @__PURE__ */new Set();
240
+ function registerMotionAttacher(attach) {
241
+ if (motionGranted) {
242
+ attach();
243
+ return function () {};
244
+ }
245
+ motionAttachers.add(attach);
246
+ return function () {
247
+ motionAttachers.delete(attach);
248
+ };
249
+ }
250
+ function grantAndAttachAll() {
251
+ motionGranted = true;
252
+ var _iteratorNormalCompletion = true,
253
+ _didIteratorError = false,
254
+ _iteratorError = void 0;
255
+ try {
256
+ for (var _iterator = motionAttachers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
257
+ var attach = _step.value;
258
+ attach();
259
+ }
260
+ } catch (err) {
261
+ _didIteratorError = true;
262
+ _iteratorError = err;
263
+ } finally {
264
+ try {
265
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
266
+ _iterator.return();
267
+ }
268
+ } finally {
269
+ if (_didIteratorError) {
270
+ throw _iteratorError;
271
+ }
272
+ }
273
+ }
274
+ }
275
+ function __resetMotionArming() {
276
+ motionGranted = false;
277
+ motionAttachers.clear();
278
+ }
279
+ async function requestMotionPermissionFromGesture() {
280
+ if (motionGranted) return "granted";
281
+ var ctor = motionEventCtor();
282
+ var flow = createMotionPermissionFlow({
283
+ // Invoke as a static method on the constructor — a detached reference
284
+ // throws in WebKit.
285
+ requestPermission: typeof (ctor === null || ctor === void 0 ? void 0 : ctor.requestPermission) === "function" ? function () {
286
+ return ctor.requestPermission();
287
+ } : void 0,
288
+ onGranted: grantAndAttachAll
289
+ });
290
+ if (flow.state !== "granted") await flow.handleGesture();
291
+ if (typeof window !== "undefined" && typeof window.dispatchEvent === "function") {
292
+ window.dispatchEvent(new CustomEvent(devtoolsMotionArmedEvent, {
293
+ detail: {
294
+ granted: flow.state === "granted"
295
+ }
296
+ }));
297
+ }
298
+ return flow.state;
299
+ }
300
+ function armDevtoolsMotion() {
301
+ if (typeof window === "undefined" || typeof window.dispatchEvent !== "function") return;
302
+ window.dispatchEvent(new Event(devtoolsArmMotionEvent));
303
+ }
304
+ function useShakeToOpen(enabled) {
305
+ var onShake = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : openDevtoolsShell;
306
+ (0, import_react.useEffect)(function () {
307
+ if (!enabled || typeof window === "undefined" || typeof window.addEventListener !== "function") return;
308
+ var detector = createShakeDetector({
309
+ onShake
310
+ });
311
+ var motionListener = function motionListener2(event) {
312
+ return detector.handleMotion(event);
313
+ };
314
+ var attach = function attach2() {
315
+ return window.addEventListener("devicemotion", motionListener, {
316
+ passive: true
317
+ });
318
+ };
319
+ var detach = function detach2() {
320
+ return window.removeEventListener("devicemotion", motionListener);
321
+ };
322
+ if (!isMotionPermissionRequired()) {
323
+ attach();
324
+ return detach;
325
+ }
326
+ var removeAttacher = registerMotionAttacher(attach);
327
+ var armListener = function armListener2() {
328
+ void requestMotionPermissionFromGesture();
329
+ };
330
+ window.addEventListener(devtoolsArmMotionEvent, armListener);
331
+ return function () {
332
+ detach();
333
+ removeAttacher();
334
+ window.removeEventListener(devtoolsArmMotionEvent, armListener);
335
+ };
336
+ }, [enabled, onShake]);
337
+ }
338
+ //# sourceMappingURL=devtoolsTrigger.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","devtoolsTrigger_exports","__export","__resetMotionArming","armDevtoolsMotion","createMotionPermissionFlow","createShakeDetector","devtoolsArmMotionEvent","devtoolsMotionArmedEvent","devtoolsOpenHotkey","devtoolsOpenRequestEvent","devtoolsShellStateKey","isDevtoolsOpenHotkeyEvent","isDevtoolsShellOpen","isMotionPermissionRequired","motionMagnitude","openDevtoolsShell","requestMotionPermissionFromGesture","shakeDefaults","useDevtoolsKeyboardTrigger","useDevtoolsOpenRequests","useShakeToOpen","module","exports","import_react","require","_type_of","obj","Symbol","constructor","event","metaKey","ctrlKey","shiftKey","altKey","code","key","enabled","useEffect","window","addEventListener","onKeyDown","onKeyDown2","preventDefault","stopImmediatePropagation","capture","removeEventListener","shellStorage","localStorage","unused","readShellState","storage","_storage_getItem","parsed","JSON","parse","getItem","arguments","length","persistOpen","setItem","stringify","dispatchEvent","Event","requests","setRequests","useState","onRequest","onRequest2","n","gravityMs2","threshold","minPeakGapMs","peakCount","windowMs","cooldownMs","a","acceleration","x","y","z","_a_x","_a_y","_a_z","Math","hypot","g","accelerationIncludingGravity","_g_x","_g_y","_g_z","abs","param","onShake","peaks","lastPeakAt","Number","NEGATIVE_INFINITY","cooldownUntil","reset","handleMotion","now","Date","magnitude","filter","at","push","requestPermission","onGranted","onDenied","state","handleGesture","result","motionEventCtor","globalThis","DeviceMotionEvent","_motionEventCtor","motionGranted","motionAttachers","Set","registerMotionAttacher","attach","add","delete","grantAndAttachAll","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","err","return","clear","ctor","flow"],"sources":["../../../src/app/devtoolsTrigger.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var frappeSocketPort_exports = {};
24
+ __export(frappeSocketPort_exports, {
25
+ frappeSocketPort: () => frappeSocketPort
26
+ });
27
+ module.exports = __toCommonJS(frappeSocketPort_exports);
28
+ function currentPageOrigin() {
29
+ if (typeof window === "undefined") return void 0;
30
+ return window.location?.origin || void 0;
31
+ }
32
+ function frappeSocketPort(configured, baseURL, pageOrigin = currentPageOrigin()) {
33
+ const port = Number(configured) || void 0;
34
+ if (!port || !baseURL || !pageOrigin) return port;
35
+ try {
36
+ return new URL(baseURL).origin === pageOrigin ? void 0 : port;
37
+ } catch {
38
+ return port;
39
+ }
40
+ }