@buoy-gg/js-top 7.0.3

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 (168) hide show
  1. package/LICENSE +58 -0
  2. package/README.md +56 -0
  3. package/lib/commonjs/index.js +97 -0
  4. package/lib/commonjs/index.js.map +1 -0
  5. package/lib/commonjs/js-top/components/BusySparkline.js +56 -0
  6. package/lib/commonjs/js-top/components/BusySparkline.js.map +1 -0
  7. package/lib/commonjs/js-top/components/JsTopHudOverlay.js +79 -0
  8. package/lib/commonjs/js-top/components/JsTopHudOverlay.js.map +1 -0
  9. package/lib/commonjs/js-top/components/JsTopModal.js +347 -0
  10. package/lib/commonjs/js-top/components/JsTopModal.js.map +1 -0
  11. package/lib/commonjs/js-top/components/TaskDetailView.js +329 -0
  12. package/lib/commonjs/js-top/components/TaskDetailView.js.map +1 -0
  13. package/lib/commonjs/js-top/components/TaskTable.js +360 -0
  14. package/lib/commonjs/js-top/components/TaskTable.js.map +1 -0
  15. package/lib/commonjs/js-top/engine/JsTopController.js +350 -0
  16. package/lib/commonjs/js-top/engine/JsTopController.js.map +1 -0
  17. package/lib/commonjs/js-top/engine/aggregator.js +148 -0
  18. package/lib/commonjs/js-top/engine/aggregator.js.map +1 -0
  19. package/lib/commonjs/js-top/engine/busyProbe.js +101 -0
  20. package/lib/commonjs/js-top/engine/busyProbe.js.map +1 -0
  21. package/lib/commonjs/js-top/engine/frameStack.js +133 -0
  22. package/lib/commonjs/js-top/engine/frameStack.js.map +1 -0
  23. package/lib/commonjs/js-top/engine/longtasks.js +141 -0
  24. package/lib/commonjs/js-top/engine/longtasks.js.map +1 -0
  25. package/lib/commonjs/js-top/engine/now.js +38 -0
  26. package/lib/commonjs/js-top/engine/now.js.map +1 -0
  27. package/lib/commonjs/js-top/engine/originRegistry.js +402 -0
  28. package/lib/commonjs/js-top/engine/originRegistry.js.map +1 -0
  29. package/lib/commonjs/js-top/engine/patches/bridge.js +60 -0
  30. package/lib/commonjs/js-top/engine/patches/bridge.js.map +1 -0
  31. package/lib/commonjs/js-top/engine/patches/microtasks.js +27 -0
  32. package/lib/commonjs/js-top/engine/patches/microtasks.js.map +1 -0
  33. package/lib/commonjs/js-top/engine/patches/promises.js +65 -0
  34. package/lib/commonjs/js-top/engine/patches/promises.js.map +1 -0
  35. package/lib/commonjs/js-top/engine/patches/timers.js +66 -0
  36. package/lib/commonjs/js-top/engine/patches/timers.js.map +1 -0
  37. package/lib/commonjs/js-top/engine/state.js +63 -0
  38. package/lib/commonjs/js-top/engine/state.js.map +1 -0
  39. package/lib/commonjs/js-top/engine/symbolicate.js +95 -0
  40. package/lib/commonjs/js-top/engine/symbolicate.js.map +1 -0
  41. package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js +74 -0
  42. package/lib/commonjs/js-top/sync/jsTopSyncAdapter.js.map +1 -0
  43. package/lib/commonjs/js-top/types/index.js +46 -0
  44. package/lib/commonjs/js-top/types/index.js.map +1 -0
  45. package/lib/commonjs/js-top/utils/preferences.js +39 -0
  46. package/lib/commonjs/js-top/utils/preferences.js.map +1 -0
  47. package/lib/commonjs/package.json +1 -0
  48. package/lib/commonjs/preset.js +75 -0
  49. package/lib/commonjs/preset.js.map +1 -0
  50. package/lib/module/index.js +47 -0
  51. package/lib/module/index.js.map +1 -0
  52. package/lib/module/js-top/components/BusySparkline.js +52 -0
  53. package/lib/module/js-top/components/BusySparkline.js.map +1 -0
  54. package/lib/module/js-top/components/JsTopHudOverlay.js +75 -0
  55. package/lib/module/js-top/components/JsTopHudOverlay.js.map +1 -0
  56. package/lib/module/js-top/components/JsTopModal.js +343 -0
  57. package/lib/module/js-top/components/JsTopModal.js.map +1 -0
  58. package/lib/module/js-top/components/TaskDetailView.js +325 -0
  59. package/lib/module/js-top/components/TaskDetailView.js.map +1 -0
  60. package/lib/module/js-top/components/TaskTable.js +353 -0
  61. package/lib/module/js-top/components/TaskTable.js.map +1 -0
  62. package/lib/module/js-top/engine/JsTopController.js +347 -0
  63. package/lib/module/js-top/engine/JsTopController.js.map +1 -0
  64. package/lib/module/js-top/engine/aggregator.js +136 -0
  65. package/lib/module/js-top/engine/aggregator.js.map +1 -0
  66. package/lib/module/js-top/engine/busyProbe.js +94 -0
  67. package/lib/module/js-top/engine/busyProbe.js.map +1 -0
  68. package/lib/module/js-top/engine/frameStack.js +126 -0
  69. package/lib/module/js-top/engine/frameStack.js.map +1 -0
  70. package/lib/module/js-top/engine/longtasks.js +133 -0
  71. package/lib/module/js-top/engine/longtasks.js.map +1 -0
  72. package/lib/module/js-top/engine/now.js +33 -0
  73. package/lib/module/js-top/engine/now.js.map +1 -0
  74. package/lib/module/js-top/engine/originRegistry.js +388 -0
  75. package/lib/module/js-top/engine/originRegistry.js.map +1 -0
  76. package/lib/module/js-top/engine/patches/bridge.js +56 -0
  77. package/lib/module/js-top/engine/patches/bridge.js.map +1 -0
  78. package/lib/module/js-top/engine/patches/microtasks.js +23 -0
  79. package/lib/module/js-top/engine/patches/microtasks.js.map +1 -0
  80. package/lib/module/js-top/engine/patches/promises.js +62 -0
  81. package/lib/module/js-top/engine/patches/promises.js.map +1 -0
  82. package/lib/module/js-top/engine/patches/timers.js +62 -0
  83. package/lib/module/js-top/engine/patches/timers.js.map +1 -0
  84. package/lib/module/js-top/engine/state.js +54 -0
  85. package/lib/module/js-top/engine/state.js.map +1 -0
  86. package/lib/module/js-top/engine/symbolicate.js +91 -0
  87. package/lib/module/js-top/engine/symbolicate.js.map +1 -0
  88. package/lib/module/js-top/sync/jsTopSyncAdapter.js +70 -0
  89. package/lib/module/js-top/sync/jsTopSyncAdapter.js.map +1 -0
  90. package/lib/module/js-top/types/index.js +42 -0
  91. package/lib/module/js-top/types/index.js.map +1 -0
  92. package/lib/module/js-top/utils/preferences.js +34 -0
  93. package/lib/module/js-top/utils/preferences.js.map +1 -0
  94. package/lib/module/preset.js +71 -0
  95. package/lib/module/preset.js.map +1 -0
  96. package/lib/typescript/index.d.ts +21 -0
  97. package/lib/typescript/index.d.ts.map +1 -0
  98. package/lib/typescript/js-top/components/BusySparkline.d.ts +8 -0
  99. package/lib/typescript/js-top/components/BusySparkline.d.ts.map +1 -0
  100. package/lib/typescript/js-top/components/JsTopHudOverlay.d.ts +8 -0
  101. package/lib/typescript/js-top/components/JsTopHudOverlay.d.ts.map +1 -0
  102. package/lib/typescript/js-top/components/JsTopModal.d.ts +39 -0
  103. package/lib/typescript/js-top/components/JsTopModal.d.ts.map +1 -0
  104. package/lib/typescript/js-top/components/TaskDetailView.d.ts +15 -0
  105. package/lib/typescript/js-top/components/TaskDetailView.d.ts.map +1 -0
  106. package/lib/typescript/js-top/components/TaskTable.d.ts +38 -0
  107. package/lib/typescript/js-top/components/TaskTable.d.ts.map +1 -0
  108. package/lib/typescript/js-top/engine/JsTopController.d.ts +78 -0
  109. package/lib/typescript/js-top/engine/JsTopController.d.ts.map +1 -0
  110. package/lib/typescript/js-top/engine/__tests__/engine.test.d.ts +9 -0
  111. package/lib/typescript/js-top/engine/__tests__/engine.test.d.ts.map +1 -0
  112. package/lib/typescript/js-top/engine/aggregator.d.ts +33 -0
  113. package/lib/typescript/js-top/engine/aggregator.d.ts.map +1 -0
  114. package/lib/typescript/js-top/engine/busyProbe.d.ts +25 -0
  115. package/lib/typescript/js-top/engine/busyProbe.d.ts.map +1 -0
  116. package/lib/typescript/js-top/engine/frameStack.d.ts +44 -0
  117. package/lib/typescript/js-top/engine/frameStack.d.ts.map +1 -0
  118. package/lib/typescript/js-top/engine/longtasks.d.ts +37 -0
  119. package/lib/typescript/js-top/engine/longtasks.d.ts.map +1 -0
  120. package/lib/typescript/js-top/engine/now.d.ts +9 -0
  121. package/lib/typescript/js-top/engine/now.d.ts.map +1 -0
  122. package/lib/typescript/js-top/engine/originRegistry.d.ts +82 -0
  123. package/lib/typescript/js-top/engine/originRegistry.d.ts.map +1 -0
  124. package/lib/typescript/js-top/engine/patches/bridge.d.ts +17 -0
  125. package/lib/typescript/js-top/engine/patches/bridge.d.ts.map +1 -0
  126. package/lib/typescript/js-top/engine/patches/microtasks.d.ts +6 -0
  127. package/lib/typescript/js-top/engine/patches/microtasks.d.ts.map +1 -0
  128. package/lib/typescript/js-top/engine/patches/promises.d.ts +18 -0
  129. package/lib/typescript/js-top/engine/patches/promises.d.ts.map +1 -0
  130. package/lib/typescript/js-top/engine/patches/timers.d.ts +11 -0
  131. package/lib/typescript/js-top/engine/patches/timers.d.ts.map +1 -0
  132. package/lib/typescript/js-top/engine/state.d.ts +35 -0
  133. package/lib/typescript/js-top/engine/state.d.ts.map +1 -0
  134. package/lib/typescript/js-top/engine/symbolicate.d.ts +16 -0
  135. package/lib/typescript/js-top/engine/symbolicate.d.ts.map +1 -0
  136. package/lib/typescript/js-top/sync/jsTopSyncAdapter.d.ts +43 -0
  137. package/lib/typescript/js-top/sync/jsTopSyncAdapter.d.ts.map +1 -0
  138. package/lib/typescript/js-top/types/index.d.ts +130 -0
  139. package/lib/typescript/js-top/types/index.d.ts.map +1 -0
  140. package/lib/typescript/js-top/utils/preferences.d.ts +13 -0
  141. package/lib/typescript/js-top/utils/preferences.d.ts.map +1 -0
  142. package/lib/typescript/preset.d.ts +49 -0
  143. package/lib/typescript/preset.d.ts.map +1 -0
  144. package/package.json +67 -0
  145. package/src/index.tsx +69 -0
  146. package/src/js-top/components/BusySparkline.tsx +59 -0
  147. package/src/js-top/components/JsTopHudOverlay.tsx +78 -0
  148. package/src/js-top/components/JsTopModal.tsx +421 -0
  149. package/src/js-top/components/TaskDetailView.tsx +349 -0
  150. package/src/js-top/components/TaskTable.tsx +365 -0
  151. package/src/js-top/engine/JsTopController.ts +401 -0
  152. package/src/js-top/engine/__tests__/engine.test.ts +337 -0
  153. package/src/js-top/engine/aggregator.ts +148 -0
  154. package/src/js-top/engine/busyProbe.ts +100 -0
  155. package/src/js-top/engine/frameStack.ts +142 -0
  156. package/src/js-top/engine/longtasks.ts +137 -0
  157. package/src/js-top/engine/now.ts +33 -0
  158. package/src/js-top/engine/originRegistry.ts +495 -0
  159. package/src/js-top/engine/patches/bridge.ts +69 -0
  160. package/src/js-top/engine/patches/microtasks.ts +25 -0
  161. package/src/js-top/engine/patches/promises.ts +57 -0
  162. package/src/js-top/engine/patches/timers.ts +80 -0
  163. package/src/js-top/engine/state.ts +66 -0
  164. package/src/js-top/engine/symbolicate.ts +109 -0
  165. package/src/js-top/sync/jsTopSyncAdapter.ts +72 -0
  166. package/src/js-top/types/index.ts +144 -0
  167. package/src/js-top/utils/preferences.ts +35 -0
  168. package/src/preset.tsx +67 -0
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.API_BADGE = void 0;
7
+ exports.TaskTable = TaskTable;
8
+ exports.badgeFor = badgeFor;
9
+ exports.displayName = displayName;
10
+ var _react = require("react");
11
+ var _reactNative = require("react-native");
12
+ var _sharedUi = require("@buoy-gg/shared-ui");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ /**
15
+ * The ranked task table — the "process list".
16
+ *
17
+ * Row layout (phone-first): the API is a small colored badge and the FULL
18
+ * width goes to the task name (the part that varies); numbers live on a
19
+ * second stats line instead of fixed-width columns, so nothing truncates:
20
+ *
21
+ * 1 [INTERVAL] hotIntervalWork 1240 ms 41%
22
+ * ▓▓▓▓▓░░░░░ 50 calls · avg 24.8 · max 31.0 · total 1.2k
23
+ *
24
+ * Sorting is a chip row above the list (column headers don't survive on a
25
+ * narrow screen). Rows keyed by origin key (never index: rows re-rank every
26
+ * tick) and memoized with a precise comparator so a tick only re-renders
27
+ * rows whose numbers moved.
28
+ */
29
+
30
+ const SORT_OPTIONS = [{
31
+ key: "windowMs",
32
+ title: "RECENT"
33
+ }, {
34
+ key: "calls",
35
+ title: "CALLS"
36
+ }, {
37
+ key: "avgMs",
38
+ title: "AVG"
39
+ }, {
40
+ key: "maxMs",
41
+ title: "MAX"
42
+ }, {
43
+ key: "totalMs",
44
+ title: "TOTAL"
45
+ }];
46
+ const API_BADGE = exports.API_BADGE = {
47
+ timeout: {
48
+ text: "TIMEOUT",
49
+ color: "#38BDF8",
50
+ prefix: "setTimeout"
51
+ },
52
+ interval: {
53
+ text: "INTERVAL",
54
+ color: "#22D3EE",
55
+ prefix: "setInterval"
56
+ },
57
+ immediate: {
58
+ text: "IMMED",
59
+ color: "#60A5FA",
60
+ prefix: "setImmediate"
61
+ },
62
+ raf: {
63
+ text: "RAF",
64
+ color: "#34D399",
65
+ prefix: "requestAnimationFrame"
66
+ },
67
+ microtask: {
68
+ text: "MICRO",
69
+ color: "#A78BFA",
70
+ prefix: "queueMicrotask"
71
+ },
72
+ then: {
73
+ text: "PROMISE",
74
+ color: "#BF5AF2",
75
+ prefix: "Promise.then"
76
+ },
77
+ bridge: {
78
+ text: "BRIDGE",
79
+ color: "#FBBF24",
80
+ prefix: "bridge"
81
+ },
82
+ unattributed: {
83
+ text: "SYSTEM",
84
+ color: "#8E8E93"
85
+ },
86
+ other: {
87
+ text: "OTHER",
88
+ color: "#8E8E93",
89
+ prefix: "other"
90
+ }
91
+ };
92
+ function badgeFor(api) {
93
+ return API_BADGE[api] ?? API_BADGE.other;
94
+ }
95
+
96
+ /** The row label minus its API prefix — the badge already says the API. */
97
+ function displayName(row) {
98
+ if (row.api === "unattributed") return "events · React · native call-ins";
99
+ if (row.api === "other") return "evicted cold origins";
100
+ const prefix = badgeFor(row.api).prefix;
101
+ let name = row.label;
102
+ if (prefix && name.startsWith(prefix)) name = name.slice(prefix.length);
103
+ name = name.replace(/^[\s←@]+/, "").trim();
104
+ return name.length > 0 ? name : "anonymous";
105
+ }
106
+ function fmt(n) {
107
+ if (n >= 10_000) return `${Math.round(n / 1000)}k`;
108
+ if (n >= 1000) return `${(n / 1000).toFixed(1)}k`;
109
+ if (n >= 100) return `${Math.round(n)}`;
110
+ return `${Math.round(n * 10) / 10}`;
111
+ }
112
+ function statsLine(row) {
113
+ if (row.calls <= 0) return "measured by probe · not reachable from JS";
114
+ return `${fmt(row.calls)} calls · avg ${fmt(row.avgMs)} · max ${fmt(row.maxMs)} · total ${fmt(row.totalMs)} ms`;
115
+ }
116
+ const TaskRow = /*#__PURE__*/(0, _react.memo)(function TaskRow({
117
+ row,
118
+ rank,
119
+ onPress
120
+ }) {
121
+ const badge = badgeFor(row.api);
122
+ const Wrapper = onPress ? _reactNative.TouchableOpacity : _reactNative.View;
123
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
124
+ style: rowStyles.row,
125
+ ...(onPress ? {
126
+ onPress: () => onPress(row),
127
+ activeOpacity: 0.6
128
+ } : {}),
129
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
130
+ style: rowStyles.topLine,
131
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
132
+ style: rowStyles.rank,
133
+ children: rank
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
135
+ style: [rowStyles.badge, {
136
+ borderColor: badge.color,
137
+ backgroundColor: `${badge.color}1A`
138
+ }],
139
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
140
+ style: [rowStyles.badgeText, {
141
+ color: badge.color
142
+ }],
143
+ children: badge.text
144
+ })
145
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
146
+ style: rowStyles.name,
147
+ numberOfLines: 1,
148
+ children: displayName(row)
149
+ }), row.freezes > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
150
+ style: [rowStyles.freezeBadge, row.worstFreezeMs >= 100 && rowStyles.freezeBadgeSevere],
151
+ children: ["\u26A0 \xD7", row.freezes]
152
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
153
+ style: [rowStyles.windowMs, row.api !== "unattributed" && row.pctOfBusy >= 25 && {
154
+ color: row.pctOfBusy >= 50 ? _sharedUi.macOSColors.semantic.error : _sharedUi.macOSColors.semantic.warning
155
+ }],
156
+ children: [fmt(row.windowMs), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
157
+ style: rowStyles.unit,
158
+ children: " ms"
159
+ })]
160
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
161
+ style: [rowStyles.pct, row.api === "unattributed" && rowStyles.pctMuted],
162
+ children: [Math.round(row.pctOfBusy), "%"]
163
+ })]
164
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
165
+ style: rowStyles.subLine,
166
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
167
+ style: rowStyles.barTrack,
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
169
+ style: [rowStyles.barFill, {
170
+ width: `${Math.min(100, row.pctOfBusy)}%`,
171
+ backgroundColor: badge.color
172
+ }]
173
+ })
174
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
175
+ style: rowStyles.stats,
176
+ numberOfLines: 1,
177
+ children: statsLine(row)
178
+ })]
179
+ })]
180
+ });
181
+ }, (prev, next) => prev.rank === next.rank && prev.onPress === next.onPress && prev.row.key === next.row.key && prev.row.windowMs === next.row.windowMs && prev.row.calls === next.row.calls && prev.row.maxMs === next.row.maxMs && prev.row.totalMs === next.row.totalMs && prev.row.pctOfBusy === next.row.pctOfBusy && prev.row.freezes === next.row.freezes && prev.row.worstFreezeMs === next.row.worstFreezeMs);
182
+ function TaskTable({
183
+ rows,
184
+ onSelectRow
185
+ }) {
186
+ const [sortKey, setSortKey] = (0, _react.useState)("windowMs");
187
+ const sorted = sortKey === "windowMs" ? rows : [...rows].sort((a, b) => b[sortKey] - a[sortKey]);
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
189
+ style: styles.root,
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
191
+ style: styles.sortRow,
192
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
193
+ style: styles.sortLabel,
194
+ children: "SORT"
195
+ }), SORT_OPTIONS.map(o => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
196
+ onPress: () => setSortKey(o.key),
197
+ style: [styles.sortChip, sortKey === o.key && styles.sortChipOn],
198
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
199
+ style: [styles.sortChipText, sortKey === o.key && styles.sortChipTextOn],
200
+ children: o.title
201
+ })
202
+ }, o.key))]
203
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
204
+ style: styles.body,
205
+ children: [sorted.map((row, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(TaskRow, {
206
+ row: row,
207
+ rank: i + 1,
208
+ onPress: onSelectRow
209
+ }, row.key)), sorted.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
210
+ style: styles.empty,
211
+ children: "No tasks observed yet \u2014 interact with the app."
212
+ })]
213
+ })]
214
+ });
215
+ }
216
+ const styles = _reactNative.StyleSheet.create({
217
+ root: {
218
+ flex: 1,
219
+ minHeight: 0
220
+ },
221
+ sortRow: {
222
+ flexDirection: "row",
223
+ alignItems: "center",
224
+ gap: 6,
225
+ paddingHorizontal: 10,
226
+ paddingVertical: 6,
227
+ borderBottomWidth: 1,
228
+ borderBottomColor: _sharedUi.macOSColors.border.default,
229
+ backgroundColor: _sharedUi.macOSColors.background.card
230
+ },
231
+ sortLabel: {
232
+ color: _sharedUi.macOSColors.text.muted,
233
+ fontSize: 9,
234
+ fontWeight: "700",
235
+ letterSpacing: 0.5,
236
+ marginRight: 2
237
+ },
238
+ sortChip: {
239
+ borderWidth: 1,
240
+ borderColor: _sharedUi.macOSColors.border.default,
241
+ borderRadius: 4,
242
+ paddingHorizontal: 7,
243
+ paddingVertical: 3
244
+ },
245
+ sortChipOn: {
246
+ borderColor: _sharedUi.macOSColors.semantic.info,
247
+ backgroundColor: `${_sharedUi.macOSColors.semantic.info}1A`
248
+ },
249
+ sortChipText: {
250
+ color: _sharedUi.macOSColors.text.muted,
251
+ fontSize: 9,
252
+ fontWeight: "600",
253
+ fontVariant: ["tabular-nums"]
254
+ },
255
+ sortChipTextOn: {
256
+ color: _sharedUi.macOSColors.semantic.info
257
+ },
258
+ body: {
259
+ flex: 1
260
+ },
261
+ empty: {
262
+ color: _sharedUi.macOSColors.text.muted,
263
+ fontSize: 12,
264
+ textAlign: "center",
265
+ paddingVertical: 24
266
+ }
267
+ });
268
+ const rowStyles = _reactNative.StyleSheet.create({
269
+ row: {
270
+ paddingHorizontal: 10,
271
+ paddingVertical: 8,
272
+ borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
273
+ borderBottomColor: _sharedUi.macOSColors.border.default,
274
+ gap: 5
275
+ },
276
+ topLine: {
277
+ flexDirection: "row",
278
+ alignItems: "center",
279
+ gap: 6
280
+ },
281
+ rank: {
282
+ width: 16,
283
+ color: _sharedUi.macOSColors.text.muted,
284
+ fontSize: 10,
285
+ fontVariant: ["tabular-nums"]
286
+ },
287
+ badge: {
288
+ borderWidth: 1,
289
+ borderRadius: 3,
290
+ paddingHorizontal: 4,
291
+ paddingVertical: 1
292
+ },
293
+ badgeText: {
294
+ fontSize: 8,
295
+ fontWeight: "700",
296
+ letterSpacing: 0.4
297
+ },
298
+ name: {
299
+ flex: 1,
300
+ color: _sharedUi.macOSColors.text.primary,
301
+ fontSize: 13,
302
+ fontWeight: "500"
303
+ },
304
+ freezeBadge: {
305
+ color: _sharedUi.macOSColors.semantic.warning,
306
+ fontSize: 10,
307
+ fontWeight: "700",
308
+ fontVariant: ["tabular-nums"]
309
+ },
310
+ freezeBadgeSevere: {
311
+ color: _sharedUi.macOSColors.semantic.error
312
+ },
313
+ windowMs: {
314
+ color: _sharedUi.macOSColors.text.primary,
315
+ fontSize: 13,
316
+ fontWeight: "700",
317
+ fontVariant: ["tabular-nums"]
318
+ },
319
+ unit: {
320
+ color: _sharedUi.macOSColors.text.muted,
321
+ fontSize: 10,
322
+ fontWeight: "400"
323
+ },
324
+ pct: {
325
+ width: 38,
326
+ textAlign: "right",
327
+ color: _sharedUi.macOSColors.text.secondary,
328
+ fontSize: 12,
329
+ fontWeight: "600",
330
+ fontVariant: ["tabular-nums"]
331
+ },
332
+ pctMuted: {
333
+ color: _sharedUi.macOSColors.text.muted
334
+ },
335
+ subLine: {
336
+ flexDirection: "row",
337
+ alignItems: "center",
338
+ gap: 8,
339
+ paddingLeft: 22
340
+ },
341
+ barTrack: {
342
+ width: 72,
343
+ height: 4,
344
+ borderRadius: 2,
345
+ backgroundColor: _sharedUi.macOSColors.background.input,
346
+ overflow: "hidden"
347
+ },
348
+ barFill: {
349
+ height: 4,
350
+ borderRadius: 2,
351
+ opacity: 0.85
352
+ },
353
+ stats: {
354
+ flex: 1,
355
+ color: _sharedUi.macOSColors.text.muted,
356
+ fontSize: 10,
357
+ fontVariant: ["tabular-nums"]
358
+ }
359
+ });
360
+ //# sourceMappingURL=TaskTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_jsxRuntime","SORT_OPTIONS","key","title","API_BADGE","exports","timeout","text","color","prefix","interval","immediate","raf","microtask","then","bridge","unattributed","other","badgeFor","api","displayName","row","name","label","startsWith","slice","length","replace","trim","fmt","n","Math","round","toFixed","statsLine","calls","avgMs","maxMs","totalMs","TaskRow","memo","rank","onPress","badge","Wrapper","TouchableOpacity","View","jsxs","style","rowStyles","activeOpacity","children","topLine","jsx","Text","borderColor","backgroundColor","badgeText","numberOfLines","freezes","freezeBadge","worstFreezeMs","freezeBadgeSevere","windowMs","pctOfBusy","macOSColors","semantic","error","warning","unit","pct","pctMuted","subLine","barTrack","barFill","width","min","stats","prev","next","TaskTable","rows","onSelectRow","sortKey","setSortKey","useState","sorted","sort","a","b","styles","root","sortRow","sortLabel","map","o","sortChip","sortChipOn","sortChipText","sortChipTextOn","ScrollView","body","i","empty","StyleSheet","create","flex","minHeight","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","border","default","background","card","muted","fontSize","fontWeight","letterSpacing","marginRight","borderWidth","borderRadius","info","fontVariant","textAlign","hairlineWidth","primary","secondary","paddingLeft","height","input","overflow","opacity"],"sourceRoot":"../../../../src","sources":["js-top/components/TaskTable.tsx"],"mappings":"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","ignoreList":[]}