@loupfeed/react-native 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +114 -0
- package/README.md +61 -0
- package/dist/chunk-NPNSWHPB.js +68 -0
- package/dist/chunk-NPNSWHPB.js.map +1 -0
- package/dist/index.cjs +385 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +66 -0
- package/dist/index.d.ts +66 -0
- package/dist/index.js +296 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs +105 -0
- package/dist/jsx-dev-runtime.cjs.map +1 -0
- package/dist/jsx-dev-runtime.d.cts +10 -0
- package/dist/jsx-dev-runtime.d.ts +10 -0
- package/dist/jsx-dev-runtime.js +21 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.cjs +103 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.d.cts +14 -0
- package/dist/jsx-runtime.d.ts +14 -0
- package/dist/jsx-runtime.js +18 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/jsx-dev-runtime.js +3 -0
- package/jsx-runtime.js +3 -0
- package/package.json +61 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Fragment } from 'react/jsx-dev-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dev counterpart of jsx-runtime.ts (used by the automatic runtime in dev builds,
|
|
5
|
+
* `@jsxImportSource @loupfeed/react-native`). Wraps react/jsx-dev-runtime's jsxDEV.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
declare function jsxDEV(type: any, props: any, key: any, isStaticChildren: any, source: any, self: any): any;
|
|
9
|
+
|
|
10
|
+
export { jsxDEV };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { Fragment } from 'react/jsx-dev-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Dev counterpart of jsx-runtime.ts (used by the automatic runtime in dev builds,
|
|
5
|
+
* `@jsxImportSource @loupfeed/react-native`). Wraps react/jsx-dev-runtime's jsxDEV.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
declare function jsxDEV(type: any, props: any, key: any, isStaticChildren: any, source: any, self: any): any;
|
|
9
|
+
|
|
10
|
+
export { jsxDEV };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
tagJsxProps
|
|
3
|
+
} from "./chunk-NPNSWHPB.js";
|
|
4
|
+
|
|
5
|
+
// src/jsx-dev-runtime.ts
|
|
6
|
+
import { jsxDEV as _jsxDEV, Fragment } from "react/jsx-dev-runtime";
|
|
7
|
+
function jsxDEV(type, props, key, isStaticChildren, source, self) {
|
|
8
|
+
return _jsxDEV(
|
|
9
|
+
type,
|
|
10
|
+
props && props.fbId ? tagJsxProps(type, props) : props,
|
|
11
|
+
key,
|
|
12
|
+
isStaticChildren,
|
|
13
|
+
source,
|
|
14
|
+
self
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
Fragment,
|
|
19
|
+
jsxDEV
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=jsx-dev-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/jsx-dev-runtime.ts"],"sourcesContent":["/**\n * Dev counterpart of jsx-runtime.ts (used by the automatic runtime in dev builds,\n * `@jsxImportSource @loupfeed/react-native`). Wraps react/jsx-dev-runtime's jsxDEV.\n */\nimport { jsxDEV as _jsxDEV, Fragment } from 'react/jsx-dev-runtime';\nimport { tagJsxProps } from './tagging';\n\nexport { Fragment };\n\nexport function jsxDEV(\n type: any,\n props: any,\n key: any,\n isStaticChildren: any,\n source: any,\n self: any,\n): any {\n return _jsxDEV(\n type,\n props && props.fbId ? tagJsxProps(type, props) : props,\n key,\n isStaticChildren,\n source,\n self,\n );\n}\n"],"mappings":";;;;;AAIA,SAAS,UAAU,SAAS,gBAAgB;AAKrC,SAAS,OACd,MACA,OACA,KACA,kBACA,QACA,MACK;AACL,SAAO;AAAA,IACL;AAAA,IACA,SAAS,MAAM,OAAO,YAAY,MAAM,KAAK,IAAI;AAAA,IACjD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/jsx-runtime.ts
|
|
31
|
+
var jsx_runtime_exports = {};
|
|
32
|
+
__export(jsx_runtime_exports, {
|
|
33
|
+
Fragment: () => import_jsx_runtime.Fragment,
|
|
34
|
+
jsx: () => jsx,
|
|
35
|
+
jsxs: () => jsxs
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(jsx_runtime_exports);
|
|
38
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
|
+
|
|
40
|
+
// src/tagging.ts
|
|
41
|
+
var import_react = __toESM(require("react"), 1);
|
|
42
|
+
var import_react_native = require("react-native");
|
|
43
|
+
var _g = globalThis;
|
|
44
|
+
var registry = _g.__loupfeedRegistry__ ?? (_g.__loupfeedRegistry__ = /* @__PURE__ */ new Map());
|
|
45
|
+
var FORWARD_REF = /* @__PURE__ */ Symbol.for("react.forward_ref");
|
|
46
|
+
var MEMO = /* @__PURE__ */ Symbol.for("react.memo");
|
|
47
|
+
function extractText(children) {
|
|
48
|
+
const arr = Array.isArray(children) ? children : children == null ? [] : [children];
|
|
49
|
+
const t = arr.filter((c) => typeof c === "string" || typeof c === "number").map(String).join("");
|
|
50
|
+
return t || void 0;
|
|
51
|
+
}
|
|
52
|
+
function tagProps(type, props, childrenOverride) {
|
|
53
|
+
if (!props || !props.fbId) return props;
|
|
54
|
+
const fbId = props.fbId;
|
|
55
|
+
const tagName = typeof type === "string" ? type : type?.displayName || type?.name;
|
|
56
|
+
const canRef = typeof type === "string" || type != null && (type.$$typeof === FORWARD_REF || type.$$typeof === MEMO);
|
|
57
|
+
const next = {
|
|
58
|
+
...props,
|
|
59
|
+
testID: props.testID ?? fbId,
|
|
60
|
+
accessibilityLabel: props.accessibilityLabel ?? fbId
|
|
61
|
+
};
|
|
62
|
+
delete next.fbId;
|
|
63
|
+
if (canRef) {
|
|
64
|
+
const userRef = props.ref;
|
|
65
|
+
const flat = props.style ? import_react_native.StyleSheet.flatten(props.style) : void 0;
|
|
66
|
+
const text = extractText(childrenOverride !== void 0 ? childrenOverride : props.children);
|
|
67
|
+
next.ref = (instance) => {
|
|
68
|
+
if (instance && typeof instance.measureInWindow === "function") {
|
|
69
|
+
registry.set(fbId, {
|
|
70
|
+
instance,
|
|
71
|
+
tagName,
|
|
72
|
+
text,
|
|
73
|
+
bg: flat?.backgroundColor,
|
|
74
|
+
radius: typeof flat?.borderRadius === "number" ? flat.borderRadius : void 0,
|
|
75
|
+
color: flat?.color
|
|
76
|
+
});
|
|
77
|
+
} else {
|
|
78
|
+
registry.delete(fbId);
|
|
79
|
+
}
|
|
80
|
+
if (typeof userRef === "function") userRef(instance);
|
|
81
|
+
else if (userRef && typeof userRef === "object") userRef.current = instance;
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return next;
|
|
85
|
+
}
|
|
86
|
+
function tagJsxProps(type, props) {
|
|
87
|
+
return tagProps(type, props);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// src/jsx-runtime.ts
|
|
91
|
+
function jsx(type, props, key) {
|
|
92
|
+
return (0, import_jsx_runtime.jsx)(type, props && props.fbId ? tagJsxProps(type, props) : props, key);
|
|
93
|
+
}
|
|
94
|
+
function jsxs(type, props, key) {
|
|
95
|
+
return (0, import_jsx_runtime.jsxs)(type, props && props.fbId ? tagJsxProps(type, props) : props, key);
|
|
96
|
+
}
|
|
97
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
+
0 && (module.exports = {
|
|
99
|
+
Fragment,
|
|
100
|
+
jsx,
|
|
101
|
+
jsxs
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=jsx-runtime.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/jsx-runtime.ts","../src/tagging.ts"],"sourcesContent":["/**\n * loupfeed automatic-JSX runtime shim. Point an app's JSX at it with\n * `@jsxImportSource @loupfeed/react-native` (or babel-preset-expo\n * `jsxImportSource`); it wraps react/jsx-runtime so tagged elements (carrying the\n * babel-injected `fbId`) get threaded onto testID + registered for hit-testing\n * and the wireframe recorder — without the classic runtime or `import React`.\n */\nimport { jsx as _jsx, jsxs as _jsxs, Fragment } from 'react/jsx-runtime';\nimport { tagJsxProps } from './tagging';\n\nexport { Fragment };\n\nexport function jsx(type: any, props: any, key?: any): any {\n return _jsx(type, props && props.fbId ? tagJsxProps(type, props) : props, key);\n}\n\nexport function jsxs(type: any, props: any, key?: any): any {\n return _jsxs(type, props && props.fbId ? tagJsxProps(type, props) : props, key);\n}\n","/**\n * Element tagging — shared by the classic createElement patch and the automatic\n * JSX runtime shim (jsx-runtime.ts). Threads the babel-injected `fbId` prop onto\n * the native view's testID/accessibilityLabel and registers a measurable handle\n * for hit-testing + the wireframe recorder.\n *\n * Runtime-agnostic so loupfeed works on BOTH:\n * - classic JSX (jsxRuntime: 'classic') → React.createElement patch, and\n * - automatic JSX (React 17+/19 default) → custom @jsxImportSource shim,\n * the latter being required by modern apps where files omit `import React`.\n */\nimport React from 'react';\nimport { StyleSheet } from 'react-native';\n\nexport type Measurable = {\n measureInWindow: (cb: (x: number, y: number, w: number, h: number) => void) => void;\n};\nexport type RegEntry = {\n instance: Measurable;\n tagName?: string;\n text?: string;\n bg?: string;\n radius?: number;\n color?: string;\n};\n\n/**\n * Shared registry of tagged, measurable views (keyed by fbId). Stored on\n * globalThis so the index entry (wireframe recorder / hit-test) and the\n * jsx-runtime shim share ONE instance even if the bundler duplicates this module\n * across the package's multiple entry points.\n */\nconst _g = globalThis as unknown as { __loupfeedRegistry__?: Map<string, RegEntry> };\nexport const registry: Map<string, RegEntry> = (_g.__loupfeedRegistry__ ??= new Map<string, RegEntry>());\n\nconst FORWARD_REF = Symbol.for('react.forward_ref');\nconst MEMO = Symbol.for('react.memo');\n\nfunction extractText(children: unknown): string | undefined {\n const arr = Array.isArray(children) ? children : children == null ? [] : [children];\n const t = arr\n .filter((c) => typeof c === 'string' || typeof c === 'number')\n .map(String)\n .join('');\n return t || undefined;\n}\n\n/**\n * Transform a tagged element's props: fbId → testID/accessibilityLabel + a ref\n * that (de)registers a measurable handle. Returns props unchanged when there's\n * no fbId. `childrenOverride` lets the classic patch pass its variadic children;\n * the automatic shim falls back to props.children.\n */\nexport function tagProps(type: any, props: any, childrenOverride?: unknown): any {\n if (!props || !props.fbId) return props;\n const fbId: string = props.fbId;\n const tagName = typeof type === 'string' ? type : type?.displayName || type?.name;\n const canRef =\n typeof type === 'string' ||\n (type != null && (type.$$typeof === FORWARD_REF || type.$$typeof === MEMO));\n\n const next: any = {\n ...props,\n testID: props.testID ?? fbId,\n accessibilityLabel: props.accessibilityLabel ?? fbId,\n };\n delete next.fbId;\n\n if (canRef) {\n const userRef = props.ref;\n const flat: any = props.style ? StyleSheet.flatten(props.style) : undefined;\n const text = extractText(childrenOverride !== undefined ? childrenOverride : props.children);\n next.ref = (instance: any) => {\n if (instance && typeof instance.measureInWindow === 'function') {\n registry.set(fbId, {\n instance,\n tagName,\n text,\n bg: flat?.backgroundColor,\n radius: typeof flat?.borderRadius === 'number' ? flat.borderRadius : undefined,\n color: flat?.color,\n });\n } else {\n registry.delete(fbId);\n }\n if (typeof userRef === 'function') userRef(instance);\n else if (userRef && typeof userRef === 'object') userRef.current = instance;\n };\n }\n return next;\n}\n\n/** Automatic JSX runtime entry point (used by jsx-runtime.ts / jsx-dev-runtime.ts). */\nexport function tagJsxProps(type: any, props: any): any {\n return tagProps(type, props);\n}\n\n/**\n * Classic JSX runtime: patch React.createElement. Idempotent across duplicated\n * bundles (flag on globalThis). Harmless (a no-op for tagging) under the\n * automatic runtime, where JSX never calls createElement.\n */\nexport function installTagging(): void {\n const gp = globalThis as unknown as { __loupfeedPatched__?: boolean };\n if (gp.__loupfeedPatched__) return;\n gp.__loupfeedPatched__ = true;\n const orig = React.createElement;\n (React as any).createElement = function (this: unknown, type: any, props: any, ...children: any[]) {\n if (props && props.fbId) {\n return orig.call(this, type, tagProps(type, props, children), ...children);\n }\n return orig.call(this, type, props, ...children);\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,yBAAqD;;;ACIrD,mBAAkB;AAClB,0BAA2B;AAoB3B,IAAM,KAAK;AACJ,IAAM,WAAmC,GAAG,yBAAH,GAAG,uBAAyB,oBAAI,IAAsB;AAEtG,IAAM,cAAc,uBAAO,IAAI,mBAAmB;AAClD,IAAM,OAAO,uBAAO,IAAI,YAAY;AAEpC,SAAS,YAAY,UAAuC;AAC1D,QAAM,MAAM,MAAM,QAAQ,QAAQ,IAAI,WAAW,YAAY,OAAO,CAAC,IAAI,CAAC,QAAQ;AAClF,QAAM,IAAI,IACP,OAAO,CAAC,MAAM,OAAO,MAAM,YAAY,OAAO,MAAM,QAAQ,EAC5D,IAAI,MAAM,EACV,KAAK,EAAE;AACV,SAAO,KAAK;AACd;AAQO,SAAS,SAAS,MAAW,OAAY,kBAAiC;AAC/E,MAAI,CAAC,SAAS,CAAC,MAAM,KAAM,QAAO;AAClC,QAAM,OAAe,MAAM;AAC3B,QAAM,UAAU,OAAO,SAAS,WAAW,OAAO,MAAM,eAAe,MAAM;AAC7E,QAAM,SACJ,OAAO,SAAS,YACf,QAAQ,SAAS,KAAK,aAAa,eAAe,KAAK,aAAa;AAEvE,QAAM,OAAY;AAAA,IAChB,GAAG;AAAA,IACH,QAAQ,MAAM,UAAU;AAAA,IACxB,oBAAoB,MAAM,sBAAsB;AAAA,EAClD;AACA,SAAO,KAAK;AAEZ,MAAI,QAAQ;AACV,UAAM,UAAU,MAAM;AACtB,UAAM,OAAY,MAAM,QAAQ,+BAAW,QAAQ,MAAM,KAAK,IAAI;AAClE,UAAM,OAAO,YAAY,qBAAqB,SAAY,mBAAmB,MAAM,QAAQ;AAC3F,SAAK,MAAM,CAAC,aAAkB;AAC5B,UAAI,YAAY,OAAO,SAAS,oBAAoB,YAAY;AAC9D,iBAAS,IAAI,MAAM;AAAA,UACjB;AAAA,UACA;AAAA,UACA;AAAA,UACA,IAAI,MAAM;AAAA,UACV,QAAQ,OAAO,MAAM,iBAAiB,WAAW,KAAK,eAAe;AAAA,UACrE,OAAO,MAAM;AAAA,QACf,CAAC;AAAA,MACH,OAAO;AACL,iBAAS,OAAO,IAAI;AAAA,MACtB;AACA,UAAI,OAAO,YAAY,WAAY,SAAQ,QAAQ;AAAA,eAC1C,WAAW,OAAO,YAAY,SAAU,SAAQ,UAAU;AAAA,IACrE;AAAA,EACF;AACA,SAAO;AACT;AAGO,SAAS,YAAY,MAAW,OAAiB;AACtD,SAAO,SAAS,MAAM,KAAK;AAC7B;;;ADnFO,SAAS,IAAI,MAAW,OAAY,KAAgB;AACzD,aAAO,mBAAAA,KAAK,MAAM,SAAS,MAAM,OAAO,YAAY,MAAM,KAAK,IAAI,OAAO,GAAG;AAC/E;AAEO,SAAS,KAAK,MAAW,OAAY,KAAgB;AAC1D,aAAO,mBAAAC,MAAM,MAAM,SAAS,MAAM,OAAO,YAAY,MAAM,KAAK,IAAI,OAAO,GAAG;AAChF;","names":["_jsx","_jsxs"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { Fragment } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* loupfeed automatic-JSX runtime shim. Point an app's JSX at it with
|
|
5
|
+
* `@jsxImportSource @loupfeed/react-native` (or babel-preset-expo
|
|
6
|
+
* `jsxImportSource`); it wraps react/jsx-runtime so tagged elements (carrying the
|
|
7
|
+
* babel-injected `fbId`) get threaded onto testID + registered for hit-testing
|
|
8
|
+
* and the wireframe recorder — without the classic runtime or `import React`.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
declare function jsx(type: any, props: any, key?: any): any;
|
|
12
|
+
declare function jsxs(type: any, props: any, key?: any): any;
|
|
13
|
+
|
|
14
|
+
export { jsx, jsxs };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { Fragment } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* loupfeed automatic-JSX runtime shim. Point an app's JSX at it with
|
|
5
|
+
* `@jsxImportSource @loupfeed/react-native` (or babel-preset-expo
|
|
6
|
+
* `jsxImportSource`); it wraps react/jsx-runtime so tagged elements (carrying the
|
|
7
|
+
* babel-injected `fbId`) get threaded onto testID + registered for hit-testing
|
|
8
|
+
* and the wireframe recorder — without the classic runtime or `import React`.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
declare function jsx(type: any, props: any, key?: any): any;
|
|
12
|
+
declare function jsxs(type: any, props: any, key?: any): any;
|
|
13
|
+
|
|
14
|
+
export { jsx, jsxs };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
tagJsxProps
|
|
3
|
+
} from "./chunk-NPNSWHPB.js";
|
|
4
|
+
|
|
5
|
+
// src/jsx-runtime.ts
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment } from "react/jsx-runtime";
|
|
7
|
+
function jsx(type, props, key) {
|
|
8
|
+
return _jsx(type, props && props.fbId ? tagJsxProps(type, props) : props, key);
|
|
9
|
+
}
|
|
10
|
+
function jsxs(type, props, key) {
|
|
11
|
+
return _jsxs(type, props && props.fbId ? tagJsxProps(type, props) : props, key);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
Fragment,
|
|
15
|
+
jsx,
|
|
16
|
+
jsxs
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/jsx-runtime.ts"],"sourcesContent":["/**\n * loupfeed automatic-JSX runtime shim. Point an app's JSX at it with\n * `@jsxImportSource @loupfeed/react-native` (or babel-preset-expo\n * `jsxImportSource`); it wraps react/jsx-runtime so tagged elements (carrying the\n * babel-injected `fbId`) get threaded onto testID + registered for hit-testing\n * and the wireframe recorder — without the classic runtime or `import React`.\n */\nimport { jsx as _jsx, jsxs as _jsxs, Fragment } from 'react/jsx-runtime';\nimport { tagJsxProps } from './tagging';\n\nexport { Fragment };\n\nexport function jsx(type: any, props: any, key?: any): any {\n return _jsx(type, props && props.fbId ? tagJsxProps(type, props) : props, key);\n}\n\nexport function jsxs(type: any, props: any, key?: any): any {\n return _jsxs(type, props && props.fbId ? tagJsxProps(type, props) : props, key);\n}\n"],"mappings":";;;;;AAOA,SAAS,OAAO,MAAM,QAAQ,OAAO,gBAAgB;AAK9C,SAAS,IAAI,MAAW,OAAY,KAAgB;AACzD,SAAO,KAAK,MAAM,SAAS,MAAM,OAAO,YAAY,MAAM,KAAK,IAAI,OAAO,GAAG;AAC/E;AAEO,SAAS,KAAK,MAAW,OAAY,KAAgB;AAC1D,SAAO,MAAM,MAAM,SAAS,MAAM,OAAO,YAAY,MAAM,KAAK,IAAI,OAAO,GAAG;AAChF;","names":[]}
|
package/jsx-runtime.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@loupfeed/react-native",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "loupfeed React Native adapter — init() + <FeedbackRoot> native inspector overlay (testID threading + measureInWindow hit-testing) + useFeedback(). Pairs with the @loupfeed/babel-plugin fbId Metro tagger.",
|
|
5
|
+
"license": "FSL-1.1-ALv2",
|
|
6
|
+
"homepage": "https://loupfeed.com",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"main": "./dist/index.cjs",
|
|
10
|
+
"module": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"import": "./dist/index.js",
|
|
16
|
+
"require": "./dist/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./jsx-runtime": {
|
|
19
|
+
"types": "./dist/jsx-runtime.d.ts",
|
|
20
|
+
"import": "./dist/jsx-runtime.js",
|
|
21
|
+
"require": "./dist/jsx-runtime.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./jsx-dev-runtime": {
|
|
24
|
+
"types": "./dist/jsx-dev-runtime.d.ts",
|
|
25
|
+
"import": "./dist/jsx-dev-runtime.js",
|
|
26
|
+
"require": "./dist/jsx-dev-runtime.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"dist",
|
|
32
|
+
"jsx-runtime.js",
|
|
33
|
+
"jsx-dev-runtime.js",
|
|
34
|
+
"README.md"
|
|
35
|
+
],
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@loupfeed/core": "0.1.0"
|
|
41
|
+
},
|
|
42
|
+
"peerDependencies": {
|
|
43
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
44
|
+
"react-native": ">=0.72.0"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@types/react": "^18.3.18",
|
|
48
|
+
"react": "^18.3.1",
|
|
49
|
+
"react-native": "0.76.6",
|
|
50
|
+
"tsup": "^8.3.5",
|
|
51
|
+
"typescript": "~5.7.2",
|
|
52
|
+
"vitest": "^2.1.8"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsup",
|
|
56
|
+
"dev": "tsup --watch",
|
|
57
|
+
"typecheck": "tsc --noEmit",
|
|
58
|
+
"test": "vitest run",
|
|
59
|
+
"clean": "rm -rf dist .turbo"
|
|
60
|
+
}
|
|
61
|
+
}
|