@mongrov/core 0.3.0 → 0.4.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/dist/ui/DevToolsLogPanel.js +2 -2
- package/dist/ui/DevToolsLogPanel.js.map +1 -1
- package/dist/ui/LogEntryRow.js +11 -11
- package/dist/ui/LogEntryRow.js.map +1 -1
- package/dist/ui/LogExportButton.js +1 -1
- package/dist/ui/LogExportButton.js.map +1 -1
- package/dist/ui/LogFilterBar.d.ts.map +1 -1
- package/dist/ui/LogFilterBar.js +6 -2
- package/dist/ui/LogFilterBar.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,9 +10,9 @@ export function DevToolsLogPanel({ title = 'Dev Tools', testID, }) {
|
|
|
10
10
|
useEffect(() => {
|
|
11
11
|
refresh();
|
|
12
12
|
}, [refresh]);
|
|
13
|
-
return (_jsxs(View, { className: "flex-1", testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between px-4 py-2", children: [_jsx(Text, { className: "text-xl font-bold text-
|
|
13
|
+
return (_jsxs(View, { className: "flex-1", testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between px-4 py-2", children: [_jsx(Text, { className: "text-xl font-bold text-neutral-900 dark:text-neutral-100", children: title }), _jsx(LogExportButton, { getExportData: exportLogs, testID: testID ? `${testID}-export` : undefined })] }), _jsx(LogFilterBar, { activeLevel: filter.level, onSelectLevel: (level) => {
|
|
14
14
|
setLevelFilter(level);
|
|
15
15
|
setTimeout(refresh, 0);
|
|
16
|
-
}, testID: testID ? `${testID}-filter` : undefined }), _jsxs(Text, { className: "px-4 py-1 text-xs text-
|
|
16
|
+
}, testID: testID ? `${testID}-filter` : undefined }), _jsxs(Text, { className: "px-4 py-1 text-xs text-neutral-500 dark:text-neutral-400", children: [entries.length, " entries"] }), _jsx(LogViewer, { entries: entries, testID: testID ? `${testID}-viewer` : undefined })] }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=DevToolsLogPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsLogPanel.js","sourceRoot":"","sources":["../../src/ui/DevToolsLogPanel.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,GAAG,WAAW,EACnB,MAAM,GACgB;IACtB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,GAC5D,YAAY,EAAE,CAAC;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,aACrC,MAAC,IAAI,IAAC,SAAS,EAAC,iDAAiD,aAC/D,KAAC,IAAI,IAAC,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"DevToolsLogPanel.js","sourceRoot":"","sources":["../../src/ui/DevToolsLogPanel.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,GAAG,WAAW,EACnB,MAAM,GACgB;IACtB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,GAC5D,YAAY,EAAE,CAAC;IAEjB,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,aACrC,MAAC,IAAI,IAAC,SAAS,EAAC,iDAAiD,aAC/D,KAAC,IAAI,IAAC,SAAS,EAAC,0DAA0D,YAAE,KAAK,GAAQ,EACzF,KAAC,eAAe,IACd,aAAa,EAAE,UAAU,EACzB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,GAC/C,IACG,EAEP,KAAC,YAAY,IACX,WAAW,EAAE,MAAM,CAAC,KAAK,EACzB,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,cAAc,CAAC,KAAK,CAAC,CAAC;oBACtB,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzB,CAAC,EACD,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,GAC/C,EAEF,MAAC,IAAI,IAAC,SAAS,EAAC,0DAA0D,aACvE,OAAO,CAAC,MAAM,gBACV,EAEP,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,SAAS,GAC/C,IACG,CACR,CAAC;AACJ,CAAC"}
|
package/dist/ui/LogEntryRow.js
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Text, View } from 'react-native';
|
|
3
3
|
const LEVEL_COLORS = {
|
|
4
|
-
debug: 'text-
|
|
5
|
-
info: 'text-
|
|
6
|
-
warn: 'text-warning',
|
|
7
|
-
error: 'text-
|
|
4
|
+
debug: 'text-neutral-600 dark:text-neutral-300',
|
|
5
|
+
info: 'text-blue-600 dark:text-blue-400',
|
|
6
|
+
warn: 'text-warning-600 dark:text-warning-400',
|
|
7
|
+
error: 'text-danger-600 dark:text-danger-400',
|
|
8
8
|
};
|
|
9
9
|
const LEVEL_BG = {
|
|
10
|
-
debug: 'bg-
|
|
11
|
-
info: 'bg-
|
|
12
|
-
warn: 'bg-warning/
|
|
13
|
-
error: 'bg-
|
|
10
|
+
debug: 'bg-neutral-50 dark:bg-neutral-900',
|
|
11
|
+
info: 'bg-blue-50 dark:bg-blue-900/30',
|
|
12
|
+
warn: 'bg-warning-50 dark:bg-warning-900/30',
|
|
13
|
+
error: 'bg-danger-50 dark:bg-danger-900/30',
|
|
14
14
|
};
|
|
15
15
|
export function LogEntryRow({ entry, testID }) {
|
|
16
16
|
const time = new Date(entry.timestamp).toLocaleTimeString();
|
|
17
|
-
const levelColor = LEVEL_COLORS[entry.level] ?? 'text-
|
|
18
|
-
const bgColor = LEVEL_BG[entry.level] ?? 'bg-
|
|
19
|
-
return (_jsxs(View, { className: `border-b border-border px-4 py-2 ${bgColor}`, testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between", children: [_jsx(Text, { className: `text-xs font-bold uppercase ${levelColor}`, children: entry.level }), _jsx(Text, { className: "text-xs text-
|
|
17
|
+
const levelColor = LEVEL_COLORS[entry.level] ?? 'text-neutral-500 dark:text-neutral-400';
|
|
18
|
+
const bgColor = LEVEL_BG[entry.level] ?? 'bg-neutral-100 dark:bg-neutral-800';
|
|
19
|
+
return (_jsxs(View, { className: `border-b border-neutral-200 dark:border-neutral-700 px-4 py-2 ${bgColor}`, testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between", children: [_jsx(Text, { className: `text-xs font-bold uppercase ${levelColor}`, children: entry.level }), _jsx(Text, { className: "text-xs text-neutral-500 dark:text-neutral-400", children: time })] }), _jsx(Text, { className: "mt-1 text-sm text-neutral-900 dark:text-neutral-100", children: entry.message }), entry.data && (_jsx(Text, { className: "mt-1 font-mono text-xs text-neutral-500 dark:text-neutral-400", children: JSON.stringify(entry.data, null, 2).slice(0, 200) }))] }));
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=LogEntryRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogEntryRow.js","sourceRoot":"","sources":["../../src/ui/LogEntryRow.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"LogEntryRow.js","sourceRoot":"","sources":["../../src/ui/LogEntryRow.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,YAAY,GAA2B;IAC3C,KAAK,EAAE,wCAAwC;IAC/C,IAAI,EAAE,kCAAkC;IACxC,IAAI,EAAE,wCAAwC;IAC9C,KAAK,EAAE,sCAAsC;CAC9C,CAAC;AAEF,MAAM,QAAQ,GAA2B;IACvC,KAAK,EAAE,mCAAmC;IAC1C,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,sCAAsC;IAC5C,KAAK,EAAE,oCAAoC;CAC5C,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAoB;IAC7D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,wCAAwC,CAAC;IACzF,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,oCAAoC,CAAC;IAE9E,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE,iEAAiE,OAAO,EAAE,EACrF,MAAM,EAAE,MAAM,aAEd,MAAC,IAAI,IAAC,SAAS,EAAC,uCAAuC,aACrD,KAAC,IAAI,IAAC,SAAS,EAAE,+BAA+B,UAAU,EAAE,YACzD,KAAK,CAAC,KAAK,GACP,EACP,KAAC,IAAI,IAAC,SAAS,EAAC,gDAAgD,YAAE,IAAI,GAAQ,IACzE,EACP,KAAC,IAAI,IAAC,SAAS,EAAC,qDAAqD,YAAE,KAAK,CAAC,OAAO,GAAQ,EAC3F,KAAK,CAAC,IAAI,IAAI,CACb,KAAC,IAAI,IAAC,SAAS,EAAC,+DAA+D,YAC5E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAC7C,CACR,IACI,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -13,6 +13,6 @@ export function LogExportButton({ getExportData, label = 'Export Logs', testID,
|
|
|
13
13
|
// Share cancelled or failed
|
|
14
14
|
}
|
|
15
15
|
};
|
|
16
|
-
return (_jsx(Pressable, { onPress: handleExport, className: "rounded-lg bg-primary px-4 py-2", testID: testID, children: _jsx(Text, { className: "text-sm font-
|
|
16
|
+
return (_jsx(Pressable, { onPress: handleExport, className: "rounded-lg bg-primary-500 dark:bg-primary-600 px-4 py-2 active:bg-primary-600 dark:active:bg-primary-700", testID: testID, children: _jsx(Text, { className: "text-sm font-semibold text-white", children: label }) }));
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=LogExportButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogExportButton.js","sourceRoot":"","sources":["../../src/ui/LogExportButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,UAAU,eAAe,CAAC,EAC9B,aAAa,EACb,KAAK,GAAG,aAAa,EACrB,MAAM,GACe;IACrB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,CAAC;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"LogExportButton.js","sourceRoot":"","sources":["../../src/ui/LogExportButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,UAAU,eAAe,CAAC,EAC9B,aAAa,EACb,KAAK,GAAG,aAAa,EACrB,MAAM,GACe;IACrB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,KAAK,CAAC;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IACR,OAAO,EAAE,YAAY,EACrB,SAAS,EAAC,0GAA0G,EACpH,MAAM,EAAE,MAAM,YAEd,KAAC,IAAI,IAAC,SAAS,EAAC,kCAAkC,YAC/C,KAAK,GACD,GACG,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogFilterBar.d.ts","sourceRoot":"","sources":["../../src/ui/LogFilterBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,aAAa,EACb,MAAM,GACP,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LogFilterBar.d.ts","sourceRoot":"","sources":["../../src/ui/LogFilterBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIjD,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,aAAa,EACb,MAAM,GACP,EAAE,iBAAiB,2CA+BnB"}
|
package/dist/ui/LogFilterBar.js
CHANGED
|
@@ -2,9 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { Pressable, Text, View } from 'react-native';
|
|
3
3
|
const LEVELS = ['all', 'debug', 'info', 'warn', 'error'];
|
|
4
4
|
export function LogFilterBar({ activeLevel, onSelectLevel, testID, }) {
|
|
5
|
-
return (_jsx(View, { className: "flex-row gap-2 px-4 py-
|
|
5
|
+
return (_jsx(View, { className: "flex-row gap-2 px-4 py-3 border-b border-neutral-200 dark:border-neutral-800", testID: testID, children: LEVELS.map((level) => {
|
|
6
6
|
const isActive = level === 'all' ? !activeLevel : activeLevel === level;
|
|
7
|
-
return (_jsx(Pressable, { onPress: () => onSelectLevel(level === 'all' ? undefined : level), className: `rounded-full px-3 py-1 ${isActive
|
|
7
|
+
return (_jsx(Pressable, { onPress: () => onSelectLevel(level === 'all' ? undefined : level), className: `rounded-full px-3 py-1.5 ${isActive
|
|
8
|
+
? 'bg-primary-500 dark:bg-primary-600'
|
|
9
|
+
: 'bg-neutral-100 dark:bg-neutral-800 border border-neutral-300 dark:border-neutral-600'}`, testID: testID ? `${testID}-${level}` : undefined, children: _jsx(Text, { className: `text-xs font-semibold uppercase ${isActive
|
|
10
|
+
? 'text-white'
|
|
11
|
+
: 'text-neutral-600 dark:text-neutral-300'}`, children: level }) }, level));
|
|
8
12
|
}) }));
|
|
9
13
|
}
|
|
10
14
|
//# sourceMappingURL=LogFilterBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogFilterBar.js","sourceRoot":"","sources":["../../src/ui/LogFilterBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIrD,MAAM,MAAM,GAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,UAAU,YAAY,CAAC,EAC3B,WAAW,EACX,aAAa,EACb,MAAM,GACY;IAClB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,
|
|
1
|
+
{"version":3,"file":"LogFilterBar.js","sourceRoot":"","sources":["../../src/ui/LogFilterBar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIrD,MAAM,MAAM,GAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE/E,MAAM,UAAU,YAAY,CAAC,EAC3B,WAAW,EACX,aAAa,EACb,MAAM,GACY;IAClB,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAC,8EAA8E,EAAC,MAAM,EAAE,MAAM,YAC1G,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,MAAM,QAAQ,GACZ,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC;YACzD,OAAO,CACL,KAAC,SAAS,IAER,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EACjE,SAAS,EAAE,4BACT,QAAQ;oBACN,CAAC,CAAC,oCAAoC;oBACtC,CAAC,CAAC,sFACN,EAAE,EACF,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,YAEjD,KAAC,IAAI,IACH,SAAS,EAAE,mCACT,QAAQ;wBACN,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,wCACN,EAAE,YAED,KAAK,GACD,IAjBF,KAAK,CAkBA,CACb,CAAC;QACJ,CAAC,CAAC,GACG,CACR,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mongrov/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Structured logging for React Native / Expo — ring buffer, file, and webhook transports with offline queue. Includes dev-tools UI components.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|