@buoy-gg/console 4.0.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 (151) hide show
  1. package/LICENSE +58 -0
  2. package/README.md +55 -0
  3. package/lib/commonjs/components/ConsoleIcon.js +47 -0
  4. package/lib/commonjs/components/ConsoleIcon.js.map +1 -0
  5. package/lib/commonjs/components/ConsoleLogList.js +145 -0
  6. package/lib/commonjs/components/ConsoleLogList.js.map +1 -0
  7. package/lib/commonjs/components/ConsoleModal.js +48 -0
  8. package/lib/commonjs/components/ConsoleModal.js.map +1 -0
  9. package/lib/commonjs/components/ConsoleRoot.js +28 -0
  10. package/lib/commonjs/components/ConsoleRoot.js.map +1 -0
  11. package/lib/commonjs/devtools/ConsoleBody.js +235 -0
  12. package/lib/commonjs/devtools/ConsoleBody.js.map +1 -0
  13. package/lib/commonjs/devtools/ConsoleHeader.js +146 -0
  14. package/lib/commonjs/devtools/ConsoleHeader.js.map +1 -0
  15. package/lib/commonjs/devtools/ConsoleMessageRow.js +338 -0
  16. package/lib/commonjs/devtools/ConsoleMessageRow.js.map +1 -0
  17. package/lib/commonjs/devtools/ConsoleValue.js +254 -0
  18. package/lib/commonjs/devtools/ConsoleValue.js.map +1 -0
  19. package/lib/commonjs/devtools/ConsoleView.js +51 -0
  20. package/lib/commonjs/devtools/ConsoleView.js.map +1 -0
  21. package/lib/commonjs/devtools/consoleFilter.js +125 -0
  22. package/lib/commonjs/devtools/consoleFilter.js.map +1 -0
  23. package/lib/commonjs/devtools/consoleFormat.js +313 -0
  24. package/lib/commonjs/devtools/consoleFormat.js.map +1 -0
  25. package/lib/commonjs/devtools/origin.js +191 -0
  26. package/lib/commonjs/devtools/origin.js.map +1 -0
  27. package/lib/commonjs/devtools/theme.js +143 -0
  28. package/lib/commonjs/devtools/theme.js.map +1 -0
  29. package/lib/commonjs/devtools/useConsoleController.js +82 -0
  30. package/lib/commonjs/devtools/useConsoleController.js.map +1 -0
  31. package/lib/commonjs/devtools/useConsoleMessages.js +241 -0
  32. package/lib/commonjs/devtools/useConsoleMessages.js.map +1 -0
  33. package/lib/commonjs/hooks/useConsoleLogs.js +23 -0
  34. package/lib/commonjs/hooks/useConsoleLogs.js.map +1 -0
  35. package/lib/commonjs/index.js +175 -0
  36. package/lib/commonjs/index.js.map +1 -0
  37. package/lib/commonjs/package.json +1 -0
  38. package/lib/commonjs/preset.js +45 -0
  39. package/lib/commonjs/preset.js.map +1 -0
  40. package/lib/commonjs/store/consoleLogStore.js +298 -0
  41. package/lib/commonjs/store/consoleLogStore.js.map +1 -0
  42. package/lib/commonjs/store/sanitize.js +64 -0
  43. package/lib/commonjs/store/sanitize.js.map +1 -0
  44. package/lib/commonjs/sync/consoleSyncAdapter.js +47 -0
  45. package/lib/commonjs/sync/consoleSyncAdapter.js.map +1 -0
  46. package/lib/module/components/ConsoleIcon.js +42 -0
  47. package/lib/module/components/ConsoleIcon.js.map +1 -0
  48. package/lib/module/components/ConsoleLogList.js +140 -0
  49. package/lib/module/components/ConsoleLogList.js.map +1 -0
  50. package/lib/module/components/ConsoleModal.js +44 -0
  51. package/lib/module/components/ConsoleModal.js.map +1 -0
  52. package/lib/module/components/ConsoleRoot.js +25 -0
  53. package/lib/module/components/ConsoleRoot.js.map +1 -0
  54. package/lib/module/devtools/ConsoleBody.js +230 -0
  55. package/lib/module/devtools/ConsoleBody.js.map +1 -0
  56. package/lib/module/devtools/ConsoleHeader.js +141 -0
  57. package/lib/module/devtools/ConsoleHeader.js.map +1 -0
  58. package/lib/module/devtools/ConsoleMessageRow.js +333 -0
  59. package/lib/module/devtools/ConsoleMessageRow.js.map +1 -0
  60. package/lib/module/devtools/ConsoleValue.js +249 -0
  61. package/lib/module/devtools/ConsoleValue.js.map +1 -0
  62. package/lib/module/devtools/ConsoleView.js +46 -0
  63. package/lib/module/devtools/ConsoleView.js.map +1 -0
  64. package/lib/module/devtools/consoleFilter.js +119 -0
  65. package/lib/module/devtools/consoleFilter.js.map +1 -0
  66. package/lib/module/devtools/consoleFormat.js +309 -0
  67. package/lib/module/devtools/consoleFormat.js.map +1 -0
  68. package/lib/module/devtools/origin.js +183 -0
  69. package/lib/module/devtools/origin.js.map +1 -0
  70. package/lib/module/devtools/theme.js +140 -0
  71. package/lib/module/devtools/theme.js.map +1 -0
  72. package/lib/module/devtools/useConsoleController.js +79 -0
  73. package/lib/module/devtools/useConsoleController.js.map +1 -0
  74. package/lib/module/devtools/useConsoleMessages.js +238 -0
  75. package/lib/module/devtools/useConsoleMessages.js.map +1 -0
  76. package/lib/module/hooks/useConsoleLogs.js +19 -0
  77. package/lib/module/hooks/useConsoleLogs.js.map +1 -0
  78. package/lib/module/index.js +52 -0
  79. package/lib/module/index.js.map +1 -0
  80. package/lib/module/preset.js +40 -0
  81. package/lib/module/preset.js.map +1 -0
  82. package/lib/module/store/consoleLogStore.js +284 -0
  83. package/lib/module/store/consoleLogStore.js.map +1 -0
  84. package/lib/module/store/sanitize.js +60 -0
  85. package/lib/module/store/sanitize.js.map +1 -0
  86. package/lib/module/sync/consoleSyncAdapter.js +43 -0
  87. package/lib/module/sync/consoleSyncAdapter.js.map +1 -0
  88. package/lib/typescript/components/ConsoleIcon.d.ts +14 -0
  89. package/lib/typescript/components/ConsoleIcon.d.ts.map +1 -0
  90. package/lib/typescript/components/ConsoleLogList.d.ts +8 -0
  91. package/lib/typescript/components/ConsoleLogList.d.ts.map +1 -0
  92. package/lib/typescript/components/ConsoleModal.d.ts +18 -0
  93. package/lib/typescript/components/ConsoleModal.d.ts.map +1 -0
  94. package/lib/typescript/components/ConsoleRoot.d.ts +14 -0
  95. package/lib/typescript/components/ConsoleRoot.d.ts.map +1 -0
  96. package/lib/typescript/devtools/ConsoleBody.d.ts +11 -0
  97. package/lib/typescript/devtools/ConsoleBody.d.ts.map +1 -0
  98. package/lib/typescript/devtools/ConsoleHeader.d.ts +17 -0
  99. package/lib/typescript/devtools/ConsoleHeader.d.ts.map +1 -0
  100. package/lib/typescript/devtools/ConsoleMessageRow.d.ts +20 -0
  101. package/lib/typescript/devtools/ConsoleMessageRow.d.ts.map +1 -0
  102. package/lib/typescript/devtools/ConsoleValue.d.ts +21 -0
  103. package/lib/typescript/devtools/ConsoleValue.d.ts.map +1 -0
  104. package/lib/typescript/devtools/ConsoleView.d.ts +10 -0
  105. package/lib/typescript/devtools/ConsoleView.d.ts.map +1 -0
  106. package/lib/typescript/devtools/consoleFilter.d.ts +31 -0
  107. package/lib/typescript/devtools/consoleFilter.d.ts.map +1 -0
  108. package/lib/typescript/devtools/consoleFormat.d.ts +29 -0
  109. package/lib/typescript/devtools/consoleFormat.d.ts.map +1 -0
  110. package/lib/typescript/devtools/origin.d.ts +39 -0
  111. package/lib/typescript/devtools/origin.d.ts.map +1 -0
  112. package/lib/typescript/devtools/theme.d.ts +57 -0
  113. package/lib/typescript/devtools/theme.d.ts.map +1 -0
  114. package/lib/typescript/devtools/useConsoleController.d.ts +35 -0
  115. package/lib/typescript/devtools/useConsoleController.d.ts.map +1 -0
  116. package/lib/typescript/devtools/useConsoleMessages.d.ts +74 -0
  117. package/lib/typescript/devtools/useConsoleMessages.d.ts.map +1 -0
  118. package/lib/typescript/hooks/useConsoleLogs.d.ts +11 -0
  119. package/lib/typescript/hooks/useConsoleLogs.d.ts.map +1 -0
  120. package/lib/typescript/index.d.ts +26 -0
  121. package/lib/typescript/index.d.ts.map +1 -0
  122. package/lib/typescript/preset.d.ts +38 -0
  123. package/lib/typescript/preset.d.ts.map +1 -0
  124. package/lib/typescript/store/consoleLogStore.d.ts +71 -0
  125. package/lib/typescript/store/consoleLogStore.d.ts.map +1 -0
  126. package/lib/typescript/store/sanitize.d.ts +11 -0
  127. package/lib/typescript/store/sanitize.d.ts.map +1 -0
  128. package/lib/typescript/sync/consoleSyncAdapter.d.ts +30 -0
  129. package/lib/typescript/sync/consoleSyncAdapter.d.ts.map +1 -0
  130. package/package.json +56 -0
  131. package/src/components/ConsoleIcon.tsx +49 -0
  132. package/src/components/ConsoleLogList.tsx +133 -0
  133. package/src/components/ConsoleModal.tsx +48 -0
  134. package/src/components/ConsoleRoot.tsx +25 -0
  135. package/src/devtools/ConsoleBody.tsx +225 -0
  136. package/src/devtools/ConsoleHeader.tsx +149 -0
  137. package/src/devtools/ConsoleMessageRow.tsx +345 -0
  138. package/src/devtools/ConsoleValue.tsx +265 -0
  139. package/src/devtools/ConsoleView.tsx +41 -0
  140. package/src/devtools/consoleFilter.ts +123 -0
  141. package/src/devtools/consoleFormat.ts +314 -0
  142. package/src/devtools/origin.ts +190 -0
  143. package/src/devtools/theme.ts +137 -0
  144. package/src/devtools/useConsoleController.ts +104 -0
  145. package/src/devtools/useConsoleMessages.ts +337 -0
  146. package/src/hooks/useConsoleLogs.ts +26 -0
  147. package/src/index.tsx +69 -0
  148. package/src/preset.tsx +35 -0
  149. package/src/store/consoleLogStore.ts +346 -0
  150. package/src/store/sanitize.ts +58 -0
  151. package/src/sync/consoleSyncAdapter.ts +49 -0
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ConsoleHeader = ConsoleHeader;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ /**
13
+ * ConsoleHeader — the Console tool's header, built from the shared ModalHeader
14
+ * pattern so it matches Network/Events 1:1. Controls live here: the
15
+ * Timeline/Grouped TabSelector (or the search field when active), plus action
16
+ * icons for search, level filter, clear, and settings. Tapping the level/filter
17
+ * or settings icon swaps the body to a back-navigable sub-view.
18
+ */
19
+
20
+ const LAYOUT_TABS = [{
21
+ key: "chrono",
22
+ label: "Timeline"
23
+ }, {
24
+ key: "cluster",
25
+ label: "Grouped"
26
+ }];
27
+ function ConsoleHeader({
28
+ c,
29
+ onBack
30
+ }) {
31
+ // Filters sub-view: a back chevron returns to the list.
32
+ if (c.view === "filters") {
33
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
34
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation, {
35
+ onBack: () => c.setView("list")
36
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
37
+ title: "Filters"
38
+ })]
39
+ });
40
+ }
41
+ const hasRows = c.rows.length > 0;
42
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader, {
43
+ children: [onBack ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Navigation, {
44
+ onBack: onBack
45
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ModalHeader.Content, {
46
+ title: "",
47
+ noMargin: true,
48
+ children: c.searchActive ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
49
+ style: styles.searchContainer,
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
51
+ size: 14,
52
+ color: _sharedUi.macOSColors.text.secondary
53
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
54
+ style: styles.searchInput,
55
+ placeholder: "Filter logs\u2026 /regex/ -exclude",
56
+ placeholderTextColor: _sharedUi.macOSColors.text.muted,
57
+ value: c.query,
58
+ onChangeText: c.setQuery,
59
+ autoCapitalize: "none",
60
+ autoCorrect: false,
61
+ returnKeyType: "search",
62
+ onSubmitEditing: () => c.setSearchActive(false)
63
+ }), c.query.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
64
+ onPress: () => c.setQuery(""),
65
+ style: styles.searchClear,
66
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
67
+ size: 14,
68
+ color: _sharedUi.macOSColors.text.secondary
69
+ })
70
+ }) : null]
71
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.TabSelector, {
72
+ tabs: LAYOUT_TABS,
73
+ activeTab: c.layoutMode,
74
+ onTabChange: key => c.setLayoutMode(key)
75
+ })
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_sharedUi.ModalHeader.Actions, {
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
78
+ onPress: () => c.setSearchActive(a => !a),
79
+ style: [styles.actionBtn, c.searchActive && styles.actionBtnActive],
80
+ accessibilityLabel: "Search logs",
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Search, {
82
+ size: 14,
83
+ color: c.searchActive ? _sharedUi.macOSColors.semantic.info : _sharedUi.macOSColors.text.secondary
84
+ })
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
86
+ onPress: () => c.setView("filters"),
87
+ style: [styles.actionBtn, c.isLevelCustom && styles.actionBtnActive],
88
+ accessibilityLabel: "Filters",
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Filter, {
90
+ size: 14,
91
+ color: c.isLevelCustom ? _sharedUi.macOSColors.semantic.info : _sharedUi.macOSColors.text.muted
92
+ })
93
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
94
+ onPress: c.clear,
95
+ disabled: !hasRows,
96
+ style: [styles.actionBtn, !hasRows && styles.actionBtnDisabled],
97
+ accessibilityLabel: "Clear console",
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.Trash2, {
99
+ size: 14,
100
+ color: hasRows ? _sharedUi.macOSColors.text.muted : _sharedUi.macOSColors.text.disabled
101
+ })
102
+ })]
103
+ })]
104
+ });
105
+ }
106
+ const styles = _reactNative.StyleSheet.create({
107
+ actionBtn: {
108
+ width: 32,
109
+ height: 32,
110
+ borderRadius: 8,
111
+ backgroundColor: _sharedUi.macOSColors.background.hover,
112
+ borderWidth: 1,
113
+ borderColor: _sharedUi.macOSColors.border.default,
114
+ alignItems: "center",
115
+ justifyContent: "center"
116
+ },
117
+ actionBtnActive: {
118
+ backgroundColor: _sharedUi.macOSColors.semantic.infoBackground,
119
+ borderColor: _sharedUi.macOSColors.semantic.info + "40"
120
+ },
121
+ actionBtnDisabled: {
122
+ opacity: 0.55
123
+ },
124
+ searchContainer: {
125
+ flexDirection: "row",
126
+ alignItems: "center",
127
+ backgroundColor: _sharedUi.macOSColors.background.input,
128
+ borderRadius: 10,
129
+ borderWidth: 1,
130
+ borderColor: _sharedUi.macOSColors.border.default,
131
+ paddingHorizontal: 12,
132
+ paddingVertical: 5
133
+ },
134
+ searchInput: {
135
+ flex: 1,
136
+ color: _sharedUi.macOSColors.text.primary,
137
+ fontSize: 13,
138
+ marginLeft: 6,
139
+ paddingVertical: 2
140
+ },
141
+ searchClear: {
142
+ marginLeft: 6,
143
+ padding: 4
144
+ }
145
+ });
146
+ //# sourceMappingURL=ConsoleHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_sharedUi","_jsxRuntime","e","__esModule","default","LAYOUT_TABS","key","label","ConsoleHeader","c","onBack","view","jsxs","ModalHeader","children","jsx","Navigation","setView","Content","title","hasRows","rows","length","noMargin","searchActive","View","style","styles","searchContainer","Search","size","color","macOSColors","text","secondary","TextInput","searchInput","placeholder","placeholderTextColor","muted","value","query","onChangeText","setQuery","autoCapitalize","autoCorrect","returnKeyType","onSubmitEditing","setSearchActive","TouchableOpacity","onPress","searchClear","X","TabSelector","tabs","activeTab","layoutMode","onTabChange","setLayoutMode","Actions","a","actionBtn","actionBtnActive","accessibilityLabel","semantic","info","isLevelCustom","Filter","clear","disabled","actionBtnDisabled","Trash2","StyleSheet","create","width","height","borderRadius","backgroundColor","background","hover","borderWidth","borderColor","border","alignItems","justifyContent","infoBackground","opacity","flexDirection","input","paddingHorizontal","paddingVertical","flex","primary","fontSize","marginLeft","padding"],"sourceRoot":"../../../src","sources":["devtools/ConsoleHeader.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ConsoleMessageRow = ConsoleMessageRow;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _theme = require("./theme");
10
+ var _consoleFormat = require("./consoleFormat");
11
+ var _ConsoleValue = require("./ConsoleValue");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ /**
15
+ * ConsoleMessageRow — RN port of a single DevTools `.console-message-wrapper`.
16
+ *
17
+ * Anatomy (mirrors ConsoleViewMessage):
18
+ * [nesting markers] [group triangle] [level icon] [timestamp] [content] [repeat badge]
19
+ * Error/warning rows get the surface background + text colors; non-error/warning
20
+ * rows get a hairline top divider. Group headers show a bold title with an
21
+ * expand triangle; error/warn/trace rows can expand a captured stack trace.
22
+ */
23
+
24
+ function formatTimestamp(ts) {
25
+ const d = new Date(ts);
26
+ const pad = (n, len = 2) => String(n).padStart(len, "0");
27
+ return `${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;
28
+ }
29
+
30
+ /** Small filled level glyph (warning triangle / error cross), DevTools-style. */
31
+ function LevelIcon({
32
+ icon,
33
+ color
34
+ }) {
35
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
36
+ style: [styles.levelIcon, {
37
+ color
38
+ }],
39
+ children: icon === "warning" ? "⚠" : "⊘"
40
+ });
41
+ }
42
+
43
+ /** The repeat-count bubble (dt-small-bubble). */
44
+ function RepeatBadge({
45
+ count,
46
+ color
47
+ }) {
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
49
+ style: [styles.repeatBadge, {
50
+ borderColor: color
51
+ }],
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
53
+ style: [styles.repeatBadgeText, {
54
+ color
55
+ }],
56
+ children: count
57
+ })
58
+ });
59
+ }
60
+ function ConsoleMessageRow({
61
+ row,
62
+ showTimestamps,
63
+ onToggleGroup,
64
+ onToggleCluster
65
+ }) {
66
+ const {
67
+ entry
68
+ } = row;
69
+ const level = _theme.levelStyles[entry.level];
70
+ const isErrorOrWarn = entry.level === "error" || entry.level === "warning";
71
+ const textColor = level.text;
72
+ const [stackOpen, setStackOpen] = (0, _react.useState)(entry.method === "trace");
73
+
74
+ // Collapsed/large cluster header (Grouped mode): tap to expand/collapse.
75
+ if (row.clusterHeader) {
76
+ const ch = row.clusterHeader;
77
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
78
+ style: [styles.wrapper, styles.dividerTop],
79
+ activeOpacity: 0.7,
80
+ onPress: () => onToggleCluster(ch.key),
81
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
82
+ style: styles.rowWrapper,
83
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
84
+ style: [styles.originGutter, {
85
+ color: row.originColor
86
+ }],
87
+ children: ch.expanded ? "▼" : "▶"
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
89
+ style: styles.messageColumn,
90
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
91
+ style: styles.messageLine,
92
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
93
+ style: [styles.text, styles.clusterTitle, {
94
+ color: row.originColor
95
+ }],
96
+ children: row.originLabel
97
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
98
+ style: styles.clusterCount,
99
+ children: [" \xB7 ", ch.count, " logs"]
100
+ })]
101
+ })
102
+ })]
103
+ })
104
+ });
105
+ }
106
+ const tokens = (0, _consoleFormat.formatConsoleMessage)(entry.args);
107
+ const hasStack = Boolean(entry.stack) && (isErrorOrWarn || entry.method === "trace");
108
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
109
+ style: styles.contentWrap,
110
+ children: tokens.map((token, i) => token.type === "string" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
111
+ style: [styles.text, {
112
+ color: textColor
113
+ }, row.isGroupHeader && styles.groupTitle, token.style],
114
+ children: token.value
115
+ }, i) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_ConsoleValue.ConsoleValue, {
116
+ value: token.value,
117
+ generic: token.mode === "generic"
118
+ }, i))
119
+ });
120
+ const inner = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
121
+ style: styles.messageColumn,
122
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
123
+ style: styles.messageLine,
124
+ children: [row.isGroupHeader ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
125
+ style: [styles.groupTriangle, {
126
+ color: textColor
127
+ }],
128
+ children: row.groupCollapsed ? "▶" : "▼"
129
+ }) : null, level.icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LevelIcon, {
130
+ icon: level.icon,
131
+ color: textColor
132
+ }) : null, showTimestamps ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
133
+ style: styles.timestamp,
134
+ children: formatTimestamp(entry.timestamp)
135
+ }) : null, hasStack ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
136
+ style: [styles.stackTriangle, {
137
+ color: textColor
138
+ }],
139
+ children: stackOpen ? "▼" : "▶"
140
+ }) : null, content, row.repeatCount > 1 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(RepeatBadge, {
141
+ count: row.repeatCount,
142
+ color: textColor
143
+ }) : null, row.originLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
144
+ style: [styles.originLabel, {
145
+ color: row.originColor
146
+ }],
147
+ numberOfLines: 1,
148
+ children: row.originLabel
149
+ }) : null]
150
+ }), hasStack && stackOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
151
+ style: styles.stackTrace,
152
+ children: (entry.stack ?? "").split("\n").filter(l => l.trim()).map((line, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
153
+ style: styles.stackFrame,
154
+ children: line.trim()
155
+ }, i))
156
+ }) : null]
157
+ });
158
+ const rowStyle = [styles.wrapper, level.background ? {
159
+ backgroundColor: level.background
160
+ } : styles.dividerTop];
161
+
162
+ // Nesting indentation markers.
163
+ const markers = Array.from({
164
+ length: row.depth
165
+ }, (_, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
166
+ style: styles.nestingMarker
167
+ }, i));
168
+
169
+ // Origin gutter: swimlane columns (multi-track) or a single bracket.
170
+ const gutter = row.lanes ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
171
+ style: styles.laneGutter,
172
+ children: row.lanes.map((cell, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
173
+ style: [styles.laneCell, cell.color ? {
174
+ color: cell.color
175
+ } : null],
176
+ children: cell.glyph
177
+ }, i))
178
+ }) : row.bracketGlyph ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
179
+ style: [styles.originGutter, {
180
+ color: row.originColor
181
+ }],
182
+ children: row.bracketGlyph
183
+ }) : null;
184
+ const body = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
185
+ style: styles.rowWrapper,
186
+ children: [gutter, markers, inner]
187
+ });
188
+
189
+ // Group headers and stack-bearing rows are pressable.
190
+ if (row.isGroupHeader && row.groupId !== undefined) {
191
+ const gid = row.groupId;
192
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
193
+ style: rowStyle,
194
+ activeOpacity: 0.7,
195
+ onPress: () => onToggleGroup(gid, Boolean(row.groupCollapsed)),
196
+ children: body
197
+ });
198
+ }
199
+ if (hasStack) {
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
201
+ style: rowStyle,
202
+ activeOpacity: 0.7,
203
+ onPress: () => setStackOpen(o => !o),
204
+ children: body
205
+ });
206
+ }
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
208
+ style: rowStyle,
209
+ children: body
210
+ });
211
+ }
212
+ const styles = _reactNative.StyleSheet.create({
213
+ wrapper: {
214
+ paddingVertical: 2,
215
+ paddingRight: 8,
216
+ minHeight: 18
217
+ },
218
+ dividerTop: {
219
+ borderTopWidth: _reactNative.StyleSheet.hairlineWidth,
220
+ borderTopColor: _theme.consoleTheme.divider
221
+ },
222
+ rowWrapper: {
223
+ flexDirection: "row",
224
+ alignItems: "flex-start"
225
+ },
226
+ originGutter: {
227
+ width: 11,
228
+ fontFamily: _theme.monoFont,
229
+ fontSize: 13,
230
+ lineHeight: 18,
231
+ textAlign: "center"
232
+ },
233
+ laneGutter: {
234
+ flexDirection: "row"
235
+ },
236
+ laneCell: {
237
+ width: 9,
238
+ fontFamily: _theme.monoFont,
239
+ fontSize: 13,
240
+ lineHeight: 18,
241
+ textAlign: "center"
242
+ },
243
+ originLabel: {
244
+ fontFamily: _theme.monoFont,
245
+ fontSize: 10,
246
+ lineHeight: 16,
247
+ marginLeft: 8,
248
+ opacity: 0.9
249
+ },
250
+ nestingMarker: {
251
+ width: 14,
252
+ alignSelf: "stretch",
253
+ borderRightWidth: _reactNative.StyleSheet.hairlineWidth,
254
+ borderRightColor: _theme.consoleTheme.divider,
255
+ marginLeft: 2
256
+ },
257
+ messageColumn: {
258
+ flex: 1,
259
+ flexDirection: "column",
260
+ paddingLeft: 6
261
+ },
262
+ messageLine: {
263
+ flexDirection: "row",
264
+ flexWrap: "wrap",
265
+ alignItems: "flex-start"
266
+ },
267
+ contentWrap: {
268
+ flexDirection: "row",
269
+ flexWrap: "wrap",
270
+ alignItems: "flex-start",
271
+ flexShrink: 1
272
+ },
273
+ text: {
274
+ fontFamily: _theme.monoFont,
275
+ fontSize: 12,
276
+ lineHeight: 16
277
+ },
278
+ groupTitle: {
279
+ fontWeight: "bold"
280
+ },
281
+ clusterTitle: {
282
+ fontWeight: "600"
283
+ },
284
+ clusterCount: {
285
+ color: _theme.consoleTheme.tokenSubtle,
286
+ fontFamily: _theme.monoFont,
287
+ fontSize: 12,
288
+ lineHeight: 16
289
+ },
290
+ groupTriangle: {
291
+ fontSize: 9,
292
+ lineHeight: 16,
293
+ marginRight: 4
294
+ },
295
+ stackTriangle: {
296
+ fontSize: 8,
297
+ lineHeight: 16,
298
+ marginRight: 4
299
+ },
300
+ levelIcon: {
301
+ fontSize: 12,
302
+ lineHeight: 16,
303
+ marginRight: 5
304
+ },
305
+ timestamp: {
306
+ color: _theme.consoleTheme.tokenSubtle,
307
+ fontFamily: _theme.monoFont,
308
+ fontSize: 11,
309
+ lineHeight: 16,
310
+ marginRight: 6
311
+ },
312
+ repeatBadge: {
313
+ borderWidth: 1,
314
+ borderRadius: 9,
315
+ paddingHorizontal: 5,
316
+ minWidth: 16,
317
+ alignItems: "center",
318
+ justifyContent: "center",
319
+ marginLeft: 6,
320
+ marginTop: 1
321
+ },
322
+ repeatBadgeText: {
323
+ fontSize: 10,
324
+ fontWeight: "700",
325
+ lineHeight: 14
326
+ },
327
+ stackTrace: {
328
+ marginTop: 2,
329
+ marginLeft: 12
330
+ },
331
+ stackFrame: {
332
+ color: _theme.consoleTheme.tokenSubtle,
333
+ fontFamily: _theme.monoFont,
334
+ fontSize: 11,
335
+ lineHeight: 15
336
+ }
337
+ });
338
+ //# sourceMappingURL=ConsoleMessageRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_theme","_consoleFormat","_ConsoleValue","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","formatTimestamp","ts","d","Date","pad","len","String","padStart","getHours","getMinutes","getSeconds","getMilliseconds","LevelIcon","icon","color","jsx","Text","style","styles","levelIcon","children","RepeatBadge","count","View","repeatBadge","borderColor","repeatBadgeText","ConsoleMessageRow","row","showTimestamps","onToggleGroup","onToggleCluster","entry","level","levelStyles","isErrorOrWarn","textColor","text","stackOpen","setStackOpen","useState","method","clusterHeader","ch","TouchableOpacity","wrapper","dividerTop","activeOpacity","onPress","key","jsxs","rowWrapper","originGutter","originColor","expanded","messageColumn","messageLine","clusterTitle","originLabel","clusterCount","tokens","formatConsoleMessage","args","hasStack","Boolean","stack","content","contentWrap","map","token","type","isGroupHeader","groupTitle","value","ConsoleValue","generic","mode","inner","groupTriangle","groupCollapsed","timestamp","stackTriangle","repeatCount","numberOfLines","stackTrace","split","filter","l","trim","line","stackFrame","rowStyle","background","backgroundColor","markers","Array","from","length","depth","_","nestingMarker","gutter","lanes","laneGutter","cell","laneCell","glyph","bracketGlyph","body","groupId","undefined","gid","StyleSheet","create","paddingVertical","paddingRight","minHeight","borderTopWidth","hairlineWidth","borderTopColor","consoleTheme","divider","flexDirection","alignItems","width","fontFamily","monoFont","fontSize","lineHeight","textAlign","marginLeft","opacity","alignSelf","borderRightWidth","borderRightColor","flex","paddingLeft","flexWrap","flexShrink","fontWeight","tokenSubtle","marginRight","borderWidth","borderRadius","paddingHorizontal","minWidth","justifyContent","marginTop"],"sourceRoot":"../../../src","sources":["devtools/ConsoleMessageRow.tsx"],"mappings":"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","ignoreList":[]}