@buoy-gg/highlight-updates 7.0.41 → 7.0.43

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 (108) hide show
  1. package/README.md +11 -71
  2. package/lib/commonjs/highlight-updates/HighlightUpdatesOverlay.js +1 -281
  3. package/lib/commonjs/highlight-updates/components/HighlightFilterView.js +1 -1474
  4. package/lib/commonjs/highlight-updates/components/HighlightUpdatesModal.js +1 -641
  5. package/lib/commonjs/highlight-updates/components/IdentifierBadge.js +1 -273
  6. package/lib/commonjs/highlight-updates/components/IsolatedRenderList.js +1 -188
  7. package/lib/commonjs/highlight-updates/components/ModalHeaderContent.js +1 -293
  8. package/lib/commonjs/highlight-updates/components/RenderCauseBadge.js +1 -508
  9. package/lib/commonjs/highlight-updates/components/RenderDetailView.js +1 -846
  10. package/lib/commonjs/highlight-updates/components/RenderHistoryViewer.js +1 -915
  11. package/lib/commonjs/highlight-updates/components/RenderListItem.js +1 -235
  12. package/lib/commonjs/highlight-updates/components/RendersCopySettingsView.js +1 -469
  13. package/lib/commonjs/highlight-updates/components/StatsDisplay.js +1 -73
  14. package/lib/commonjs/highlight-updates/types/copySettings.js +1 -107
  15. package/lib/commonjs/highlight-updates/utils/CommitProfiler.js +1 -455
  16. package/lib/commonjs/highlight-updates/utils/HighlightUpdatesController.js +1 -1929
  17. package/lib/commonjs/highlight-updates/utils/PerformanceLogger.js +26 -359
  18. package/lib/commonjs/highlight-updates/utils/ProfilerInterceptor.js +1 -371
  19. package/lib/commonjs/highlight-updates/utils/RenderCauseDetector.js +5 -1840
  20. package/lib/commonjs/highlight-updates/utils/RenderTracker.js +1 -952
  21. package/lib/commonjs/highlight-updates/utils/ViewTypeMapper.js +1 -264
  22. package/lib/commonjs/highlight-updates/utils/copySettingsStorage.js +1 -32
  23. package/lib/commonjs/highlight-updates/utils/devtoolsComponentNames.js +1 -188
  24. package/lib/commonjs/highlight-updates/utils/namedComposite.js +1 -41
  25. package/lib/commonjs/highlight-updates/utils/ownStateChanged.js +1 -103
  26. package/lib/commonjs/highlight-updates/utils/rawEventEmitter.js +1 -50
  27. package/lib/commonjs/highlight-updates/utils/rawEventEmitter.web.js +1 -12
  28. package/lib/commonjs/highlight-updates/utils/renderExportFormatter.js +1 -58
  29. package/lib/commonjs/highlight-updates/utils/rendersExportFormatter.js +1 -485
  30. package/lib/commonjs/highlight-updates/utils/screenElements.js +1 -1269
  31. package/lib/commonjs/highlight-updates/utils/tapMatch.js +1 -83
  32. package/lib/commonjs/highlight-updates/utils/testIDs.js +1 -68
  33. package/lib/commonjs/highlight-updates/utils/touchCapture.js +1 -277
  34. package/lib/commonjs/index.js +1 -429
  35. package/lib/commonjs/preset.js +1 -278
  36. package/lib/commonjs/sync/highlightUpdatesSyncAdapter.js +1 -235
  37. package/lib/module/highlight-updates/HighlightUpdatesOverlay.js +1 -274
  38. package/lib/module/highlight-updates/components/HighlightFilterView.js +1 -1468
  39. package/lib/module/highlight-updates/components/HighlightUpdatesModal.js +1 -634
  40. package/lib/module/highlight-updates/components/IdentifierBadge.js +1 -265
  41. package/lib/module/highlight-updates/components/IsolatedRenderList.js +1 -183
  42. package/lib/module/highlight-updates/components/ModalHeaderContent.js +1 -288
  43. package/lib/module/highlight-updates/components/RenderCauseBadge.js +1 -499
  44. package/lib/module/highlight-updates/components/RenderDetailView.js +1 -840
  45. package/lib/module/highlight-updates/components/RenderHistoryViewer.js +1 -908
  46. package/lib/module/highlight-updates/components/RenderListItem.js +1 -230
  47. package/lib/module/highlight-updates/components/RendersCopySettingsView.js +1 -465
  48. package/lib/module/highlight-updates/components/StatsDisplay.js +1 -70
  49. package/lib/module/highlight-updates/types/copySettings.js +1 -102
  50. package/lib/module/highlight-updates/utils/CommitProfiler.js +1 -451
  51. package/lib/module/highlight-updates/utils/HighlightUpdatesController.js +1 -1925
  52. package/lib/module/highlight-updates/utils/PerformanceLogger.js +26 -353
  53. package/lib/module/highlight-updates/utils/ProfilerInterceptor.js +1 -358
  54. package/lib/module/highlight-updates/utils/RenderCauseDetector.js +5 -1830
  55. package/lib/module/highlight-updates/utils/RenderTracker.js +1 -949
  56. package/lib/module/highlight-updates/utils/ViewTypeMapper.js +1 -255
  57. package/lib/module/highlight-updates/utils/copySettingsStorage.js +1 -26
  58. package/lib/module/highlight-updates/utils/devtoolsComponentNames.js +1 -178
  59. package/lib/module/highlight-updates/utils/namedComposite.js +1 -36
  60. package/lib/module/highlight-updates/utils/ownStateChanged.js +1 -98
  61. package/lib/module/highlight-updates/utils/rawEventEmitter.js +1 -46
  62. package/lib/module/highlight-updates/utils/rawEventEmitter.web.js +1 -3
  63. package/lib/module/highlight-updates/utils/renderExportFormatter.js +1 -54
  64. package/lib/module/highlight-updates/utils/rendersExportFormatter.js +1 -478
  65. package/lib/module/highlight-updates/utils/screenElements.js +1 -1263
  66. package/lib/module/highlight-updates/utils/tapMatch.js +1 -76
  67. package/lib/module/highlight-updates/utils/testIDs.js +1 -60
  68. package/lib/module/highlight-updates/utils/touchCapture.js +1 -270
  69. package/lib/module/index.js +1 -130
  70. package/lib/module/preset.js +1 -272
  71. package/lib/module/sync/highlightUpdatesSyncAdapter.js +1 -230
  72. package/lib/web/index.mjs +28 -29
  73. package/package.json +7 -11
  74. package/lib/typescript/highlight-updates/HighlightUpdatesOverlay.d.ts.map +0 -1
  75. package/lib/typescript/highlight-updates/components/HighlightFilterView.d.ts.map +0 -1
  76. package/lib/typescript/highlight-updates/components/HighlightUpdatesModal.d.ts.map +0 -1
  77. package/lib/typescript/highlight-updates/components/IdentifierBadge.d.ts.map +0 -1
  78. package/lib/typescript/highlight-updates/components/IsolatedRenderList.d.ts.map +0 -1
  79. package/lib/typescript/highlight-updates/components/ModalHeaderContent.d.ts.map +0 -1
  80. package/lib/typescript/highlight-updates/components/RenderCauseBadge.d.ts.map +0 -1
  81. package/lib/typescript/highlight-updates/components/RenderDetailView.d.ts.map +0 -1
  82. package/lib/typescript/highlight-updates/components/RenderHistoryViewer.d.ts.map +0 -1
  83. package/lib/typescript/highlight-updates/components/RenderListItem.d.ts.map +0 -1
  84. package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +0 -1
  85. package/lib/typescript/highlight-updates/components/StatsDisplay.d.ts.map +0 -1
  86. package/lib/typescript/highlight-updates/types/copySettings.d.ts.map +0 -1
  87. package/lib/typescript/highlight-updates/utils/CommitProfiler.d.ts.map +0 -1
  88. package/lib/typescript/highlight-updates/utils/HighlightUpdatesController.d.ts.map +0 -1
  89. package/lib/typescript/highlight-updates/utils/PerformanceLogger.d.ts.map +0 -1
  90. package/lib/typescript/highlight-updates/utils/ProfilerInterceptor.d.ts.map +0 -1
  91. package/lib/typescript/highlight-updates/utils/RenderCauseDetector.d.ts.map +0 -1
  92. package/lib/typescript/highlight-updates/utils/RenderTracker.d.ts.map +0 -1
  93. package/lib/typescript/highlight-updates/utils/ViewTypeMapper.d.ts.map +0 -1
  94. package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts.map +0 -1
  95. package/lib/typescript/highlight-updates/utils/devtoolsComponentNames.d.ts.map +0 -1
  96. package/lib/typescript/highlight-updates/utils/namedComposite.d.ts.map +0 -1
  97. package/lib/typescript/highlight-updates/utils/ownStateChanged.d.ts.map +0 -1
  98. package/lib/typescript/highlight-updates/utils/rawEventEmitter.d.ts.map +0 -1
  99. package/lib/typescript/highlight-updates/utils/rawEventEmitter.web.d.ts.map +0 -1
  100. package/lib/typescript/highlight-updates/utils/renderExportFormatter.d.ts.map +0 -1
  101. package/lib/typescript/highlight-updates/utils/rendersExportFormatter.d.ts.map +0 -1
  102. package/lib/typescript/highlight-updates/utils/screenElements.d.ts.map +0 -1
  103. package/lib/typescript/highlight-updates/utils/tapMatch.d.ts.map +0 -1
  104. package/lib/typescript/highlight-updates/utils/testIDs.d.ts.map +0 -1
  105. package/lib/typescript/highlight-updates/utils/touchCapture.d.ts.map +0 -1
  106. package/lib/typescript/index.d.ts.map +0 -1
  107. package/lib/typescript/preset.d.ts.map +0 -1
  108. package/lib/typescript/sync/highlightUpdatesSyncAdapter.d.ts.map +0 -1
@@ -1,235 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.RenderListItem = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _sharedUi = require("@buoy-gg/shared-ui");
10
- var _IdentifierBadge = require("./IdentifierBadge");
11
- var _RenderCauseBadge = require("./RenderCauseBadge");
12
- var _testIDs = require("../utils/testIDs");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- 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); }
15
- /**
16
- * RenderListItem
17
- *
18
- * Compact list item showing a tracked component render.
19
- * Displays viewType, identifier (testID/nativeID/component), render count, and timing.
20
- */
21
-
22
- function RenderListItemInner({
23
- render,
24
- onPress
25
- }) {
26
- // Get best identifier to show (primary)
27
- const identifier = (0, _react.useMemo)(() => {
28
- if (render.testID) return {
29
- type: "testID",
30
- value: render.testID
31
- };
32
- if (render.nativeID) return {
33
- type: "nativeID",
34
- value: render.nativeID
35
- };
36
- if (render.componentName) return {
37
- type: "component",
38
- value: render.componentName
39
- };
40
- if (render.accessibilityLabel) return {
41
- type: "accessibilityLabel",
42
- value: render.accessibilityLabel
43
- };
44
- return {
45
- type: "nativeTag",
46
- value: String(render.nativeTag)
47
- };
48
- }, [render.testID, render.nativeID, render.componentName, render.accessibilityLabel, render.nativeTag]);
49
-
50
- // Get secondary identifier (accessibilityLabel if not already primary)
51
- const secondaryIdentifier = (0, _react.useMemo)(() => {
52
- if (render.accessibilityLabel && identifier.type !== "accessibilityLabel") {
53
- return {
54
- type: "accessibilityLabel",
55
- value: render.accessibilityLabel
56
- };
57
- }
58
- return null;
59
- }, [render.accessibilityLabel, identifier.type]);
60
-
61
- // Format time since last render (live-updating)
62
- const timeSinceRender = (0, _sharedUi.useRelativeTime)(render.lastRenderTime);
63
-
64
- // The row is addressed by the identifier it SHOWS, never by nativeTag — see
65
- // utils/testIDs.ts for why a tag can't be a handle. The label spells the row
66
- // out for assistive tech, which otherwise gets a coloured bar and a count.
67
- const rowTestID = (0, _testIDs.renderRowTestID)(identifier.value);
68
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
69
- testID: rowTestID,
70
- accessibilityRole: "button",
71
- accessibilityLabel: `${render.displayName}, ${identifier.type} ${identifier.value}, ${render.renderCount} renders`,
72
- style: styles.container,
73
- onPress: () => onPress(render),
74
- activeOpacity: 0.7,
75
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
- style: [styles.colorIndicator, {
77
- backgroundColor: render.color
78
- }]
79
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
80
- style: styles.content,
81
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
82
- style: styles.topRow,
83
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
84
- style: styles.viewTypeContainer,
85
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
86
- testID: `${rowTestID}-name`,
87
- style: styles.viewType,
88
- numberOfLines: 1,
89
- children: render.displayName
90
- }), secondaryIdentifier ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge, {
91
- type: secondaryIdentifier.type,
92
- value: secondaryIdentifier.value,
93
- compact: true,
94
- shortLabel: true
95
- }) : render.displayName !== render.viewType ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
96
- testID: `${rowTestID}-type`,
97
- style: styles.nativeType,
98
- numberOfLines: 1,
99
- children: render.viewType
100
- }) : null]
101
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
102
- style: [styles.renderCountBadge, {
103
- backgroundColor: render.color + "30"
104
- }],
105
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
106
- testID: `${rowTestID}-count`,
107
- style: [styles.renderCount, {
108
- color: render.color
109
- }],
110
- children: [render.renderCount, "x"]
111
- })
112
- })]
113
- }), render.lastRenderCause && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
114
- style: styles.causeRow,
115
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RenderCauseBadge.RenderCauseBadge, {
116
- testID: `${rowTestID}-cause`,
117
- cause: render.lastRenderCause,
118
- compact: true,
119
- showKeys: true,
120
- showTwoLevel: true
121
- })
122
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
123
- style: styles.bottomRow,
124
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
125
- style: styles.identifierContainer,
126
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge, {
127
- testID: `${rowTestID}-identifier`,
128
- type: identifier.type,
129
- value: identifier.value,
130
- compact: true,
131
- shortLabel: true
132
- })
133
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
134
- testID: `${rowTestID}-time`,
135
- style: styles.timing,
136
- children: timeSinceRender
137
- })]
138
- })]
139
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
140
- size: 16,
141
- color: _sharedUi.night.color.textTertiary
142
- })]
143
- });
144
- }
145
-
146
- // Memoize with custom comparison - only re-render when relevant props change
147
- // This is critical for performance when the modal is open during rapid renders
148
- const RenderListItem = exports.RenderListItem = /*#__PURE__*/_react.default.memo(RenderListItemInner, (prevProps, nextProps) => {
149
- // Return true if props are EQUAL (skip re-render)
150
- // Return false if props are DIFFERENT (trigger re-render)
151
- const prevRender = prevProps.render;
152
- const nextRender = nextProps.render;
153
- return prevRender.id === nextRender.id && prevRender.renderCount === nextRender.renderCount && prevRender.color === nextRender.color && prevRender.lastRenderTime === nextRender.lastRenderTime && prevRender.lastRenderCause?.type === nextRender.lastRenderCause?.type && prevRender.lastRenderCause?.componentCause === nextRender.lastRenderCause?.componentCause && prevProps.onPress === nextProps.onPress;
154
- });
155
- const styles = _reactNative.StyleSheet.create({
156
- container: {
157
- flexDirection: "row",
158
- alignItems: "center",
159
- paddingVertical: 10,
160
- paddingHorizontal: 12,
161
- marginHorizontal: 12,
162
- marginBottom: 6,
163
- backgroundColor: _sharedUi.night.color.surface,
164
- borderRadius: 8,
165
- borderWidth: 1,
166
- borderColor: _sharedUi.night.color.border
167
- },
168
- colorIndicator: {
169
- width: 4,
170
- height: 36,
171
- borderRadius: 2,
172
- marginRight: 10
173
- },
174
- content: {
175
- flex: 1,
176
- marginRight: 8
177
- },
178
- topRow: {
179
- flexDirection: "row",
180
- alignItems: "center",
181
- marginBottom: 4
182
- },
183
- causeRow: {
184
- marginBottom: 4
185
- },
186
- viewTypeContainer: {
187
- flex: 1,
188
- marginRight: 8
189
- },
190
- viewType: {
191
- fontSize: 13,
192
- fontWeight: "600",
193
- color: _sharedUi.night.color.text
194
- },
195
- nativeType: {
196
- fontSize: 10,
197
- color: _sharedUi.night.color.textTertiary,
198
- fontFamily: _sharedUi.monoFont,
199
- marginTop: 1
200
- },
201
- accessibilityLabel: {
202
- fontSize: 10,
203
- color: _sharedUi.night.color.accent,
204
- fontStyle: "italic",
205
- marginTop: 1
206
- },
207
- renderCountBadge: {
208
- paddingHorizontal: 8,
209
- paddingVertical: 2,
210
- borderRadius: 10
211
- },
212
- renderCount: {
213
- fontSize: 11,
214
- fontWeight: "700",
215
- fontFamily: _sharedUi.monoFont
216
- },
217
- bottomRow: {
218
- flexDirection: "row",
219
- alignItems: "center",
220
- justifyContent: "space-between",
221
- gap: 8
222
- },
223
- identifierContainer: {
224
- flex: 1,
225
- flexShrink: 1,
226
- overflow: "hidden"
227
- },
228
- timing: {
229
- fontSize: 10,
230
- color: _sharedUi.night.color.textTertiary,
231
- fontWeight: "500",
232
- flexShrink: 0
233
- }
234
- });
235
- var _default = exports.default = RenderListItem;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.RenderListItem=void 0;var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _sharedUi=require("@buoy-gg/shared-ui");var _IdentifierBadge=require("./IdentifierBadge");var _RenderCauseBadge=require("./RenderCauseBadge");var _testIDs=require("../utils/testIDs");var _jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,r){if("function"==typeof WeakMap)var t=new WeakMap,o=new WeakMap;return(_interopRequireWildcard=function(i,n){if(!n&&i&&i.__esModule)return i;var a,c,l={__proto__:null,default:i};if(null===i||"object"!=typeof i&&"function"!=typeof i)return l;if(a=n?o:t){if(a.has(i))return a.get(i);a.set(i,l)}for(const s in i)"default"!==s&&{}.hasOwnProperty.call(i,s)&&((c=(a=Object.defineProperty)&&Object.getOwnPropertyDescriptor(i,s))&&(c.get||c.set)?a(l,s,c):l[s]=i[s]);return l})(e,r)}function RenderListItemInner({render:e,onPress:r}){const t=(0,_react.useMemo)(()=>{if(e.testID)return{type:"testID",value:e.testID};if(e.nativeID)return{type:"nativeID",value:e.nativeID};if(e.componentName)return{type:"component",value:e.componentName};if(e.accessibilityLabel)return{type:"accessibilityLabel",value:e.accessibilityLabel};return{type:"nativeTag",value:String(e.nativeTag)}},[e.testID,e.nativeID,e.componentName,e.accessibilityLabel,e.nativeTag]);const o=(0,_react.useMemo)(()=>{if(e.accessibilityLabel&&t.type!=="accessibilityLabel"){return{type:"accessibilityLabel",value:e.accessibilityLabel}}return null},[e.accessibilityLabel,t.type]);const i=(0,_sharedUi.useRelativeTime)(e.lastRenderTime);const n=(0,_testIDs.renderRowTestID)(t.value);return(0,_jsxRuntime.jsxs)(_reactNative.TouchableOpacity,{testID:n,accessibilityRole:"button",accessibilityLabel:`${e.displayName}, ${t.type} ${t.value}, ${e.renderCount} renders`,style:styles.container,onPress:()=>r(e),activeOpacity:.7,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.colorIndicator,{backgroundColor:e.color}]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.content,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.topRow,children:[(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.viewTypeContainer,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{testID:`${n}-name`,style:styles.viewType,numberOfLines:1,children:e.displayName}),o?(0,_jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge,{type:o.type,value:o.value,compact:true,shortLabel:true}):e.displayName!==e.viewType?(0,_jsxRuntime.jsx)(_reactNative.Text,{testID:`${n}-type`,style:styles.nativeType,numberOfLines:1,children:e.viewType}):null]}),(0,_jsxRuntime.jsx)(_reactNative.View,{style:[styles.renderCountBadge,{backgroundColor:e.color+"30"}],children:(0,_jsxRuntime.jsxs)(_reactNative.Text,{testID:`${n}-count`,style:[styles.renderCount,{color:e.color}],children:[e.renderCount,"x"]})})]}),e.lastRenderCause&&(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.causeRow,children:(0,_jsxRuntime.jsx)(_RenderCauseBadge.RenderCauseBadge,{testID:`${n}-cause`,cause:e.lastRenderCause,compact:true,showKeys:true,showTwoLevel:true})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.bottomRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.identifierContainer,children:(0,_jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge,{testID:`${n}-identifier`,type:t.type,value:t.value,compact:true,shortLabel:true})}),(0,_jsxRuntime.jsx)(_reactNative.Text,{testID:`${n}-time`,style:styles.timing,children:i})]})]}),(0,_jsxRuntime.jsx)(_sharedUi.ChevronRight,{size:16,color:_sharedUi.night.color.textTertiary})]})}const RenderListItem=exports.RenderListItem=_react.default.memo(RenderListItemInner,(e,r)=>{const t=e.render;const o=r.render;return t.id===o.id&&t.renderCount===o.renderCount&&t.color===o.color&&t.lastRenderTime===o.lastRenderTime&&t.lastRenderCause?.type===o.lastRenderCause?.type&&t.lastRenderCause?.componentCause===o.lastRenderCause?.componentCause&&e.onPress===r.onPress});const styles=_reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingVertical:10,paddingHorizontal:12,marginHorizontal:12,marginBottom:6,backgroundColor:_sharedUi.night.color.surface,borderRadius:8,borderWidth:1,borderColor:_sharedUi.night.color.border},colorIndicator:{width:4,height:36,borderRadius:2,marginRight:10},content:{flex:1,marginRight:8},topRow:{flexDirection:"row",alignItems:"center",marginBottom:4},causeRow:{marginBottom:4},viewTypeContainer:{flex:1,marginRight:8},viewType:{fontSize:13,fontWeight:"600",color:_sharedUi.night.color.text},nativeType:{fontSize:10,color:_sharedUi.night.color.textTertiary,fontFamily:_sharedUi.monoFont,marginTop:1},accessibilityLabel:{fontSize:10,color:_sharedUi.night.color.accent,fontStyle:"italic",marginTop:1},renderCountBadge:{paddingHorizontal:8,paddingVertical:2,borderRadius:10},renderCount:{fontSize:11,fontWeight:"700",fontFamily:_sharedUi.monoFont},bottomRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:8},identifierContainer:{flex:1,flexShrink:1,overflow:"hidden"},timing:{fontSize:10,color:_sharedUi.night.color.textTertiary,fontWeight:"500",flexShrink:0}});var _default=exports.default=RenderListItem;