@buoy-gg/highlight-updates 7.0.36 → 7.0.38

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 (104) hide show
  1. package/README.md +28 -6
  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 -466
  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 -446
  16. package/lib/commonjs/highlight-updates/utils/HighlightUpdatesController.js +1 -1920
  17. package/lib/commonjs/highlight-updates/utils/PerformanceLogger.js +1 -359
  18. package/lib/commonjs/highlight-updates/utils/ProfilerInterceptor.js +1 -371
  19. package/lib/commonjs/highlight-updates/utils/RenderCauseDetector.js +1 -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/renderExportFormatter.js +1 -58
  28. package/lib/commonjs/highlight-updates/utils/rendersExportFormatter.js +1 -485
  29. package/lib/commonjs/highlight-updates/utils/screenElements.js +1 -1248
  30. package/lib/commonjs/highlight-updates/utils/tapMatch.js +1 -83
  31. package/lib/commonjs/highlight-updates/utils/testIDs.js +1 -68
  32. package/lib/commonjs/highlight-updates/utils/touchCapture.js +1 -277
  33. package/lib/commonjs/index.js +1 -429
  34. package/lib/commonjs/preset.js +1 -278
  35. package/lib/commonjs/sync/highlightUpdatesSyncAdapter.js +1 -235
  36. package/lib/module/highlight-updates/HighlightUpdatesOverlay.js +1 -274
  37. package/lib/module/highlight-updates/components/HighlightFilterView.js +1 -1468
  38. package/lib/module/highlight-updates/components/HighlightUpdatesModal.js +1 -634
  39. package/lib/module/highlight-updates/components/IdentifierBadge.js +1 -265
  40. package/lib/module/highlight-updates/components/IsolatedRenderList.js +1 -183
  41. package/lib/module/highlight-updates/components/ModalHeaderContent.js +1 -288
  42. package/lib/module/highlight-updates/components/RenderCauseBadge.js +1 -499
  43. package/lib/module/highlight-updates/components/RenderDetailView.js +1 -840
  44. package/lib/module/highlight-updates/components/RenderHistoryViewer.js +1 -908
  45. package/lib/module/highlight-updates/components/RenderListItem.js +1 -230
  46. package/lib/module/highlight-updates/components/RendersCopySettingsView.js +1 -462
  47. package/lib/module/highlight-updates/components/StatsDisplay.js +1 -70
  48. package/lib/module/highlight-updates/types/copySettings.js +1 -102
  49. package/lib/module/highlight-updates/utils/CommitProfiler.js +1 -442
  50. package/lib/module/highlight-updates/utils/HighlightUpdatesController.js +1 -1916
  51. package/lib/module/highlight-updates/utils/PerformanceLogger.js +1 -353
  52. package/lib/module/highlight-updates/utils/ProfilerInterceptor.js +1 -358
  53. package/lib/module/highlight-updates/utils/RenderCauseDetector.js +1 -1830
  54. package/lib/module/highlight-updates/utils/RenderTracker.js +1 -949
  55. package/lib/module/highlight-updates/utils/ViewTypeMapper.js +1 -255
  56. package/lib/module/highlight-updates/utils/copySettingsStorage.js +1 -26
  57. package/lib/module/highlight-updates/utils/devtoolsComponentNames.js +1 -178
  58. package/lib/module/highlight-updates/utils/namedComposite.js +1 -36
  59. package/lib/module/highlight-updates/utils/ownStateChanged.js +1 -98
  60. package/lib/module/highlight-updates/utils/rawEventEmitter.js +1 -46
  61. package/lib/module/highlight-updates/utils/renderExportFormatter.js +1 -54
  62. package/lib/module/highlight-updates/utils/rendersExportFormatter.js +1 -478
  63. package/lib/module/highlight-updates/utils/screenElements.js +1 -1242
  64. package/lib/module/highlight-updates/utils/tapMatch.js +1 -76
  65. package/lib/module/highlight-updates/utils/testIDs.js +1 -60
  66. package/lib/module/highlight-updates/utils/touchCapture.js +1 -270
  67. package/lib/module/index.js +1 -130
  68. package/lib/module/preset.js +1 -272
  69. package/lib/module/sync/highlightUpdatesSyncAdapter.js +1 -230
  70. package/package.json +8 -8
  71. package/lib/typescript/highlight-updates/HighlightUpdatesOverlay.d.ts.map +0 -1
  72. package/lib/typescript/highlight-updates/components/HighlightFilterView.d.ts.map +0 -1
  73. package/lib/typescript/highlight-updates/components/HighlightUpdatesModal.d.ts.map +0 -1
  74. package/lib/typescript/highlight-updates/components/IdentifierBadge.d.ts.map +0 -1
  75. package/lib/typescript/highlight-updates/components/IsolatedRenderList.d.ts.map +0 -1
  76. package/lib/typescript/highlight-updates/components/ModalHeaderContent.d.ts.map +0 -1
  77. package/lib/typescript/highlight-updates/components/RenderCauseBadge.d.ts.map +0 -1
  78. package/lib/typescript/highlight-updates/components/RenderDetailView.d.ts.map +0 -1
  79. package/lib/typescript/highlight-updates/components/RenderHistoryViewer.d.ts.map +0 -1
  80. package/lib/typescript/highlight-updates/components/RenderListItem.d.ts.map +0 -1
  81. package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +0 -1
  82. package/lib/typescript/highlight-updates/components/StatsDisplay.d.ts.map +0 -1
  83. package/lib/typescript/highlight-updates/types/copySettings.d.ts.map +0 -1
  84. package/lib/typescript/highlight-updates/utils/CommitProfiler.d.ts.map +0 -1
  85. package/lib/typescript/highlight-updates/utils/HighlightUpdatesController.d.ts.map +0 -1
  86. package/lib/typescript/highlight-updates/utils/PerformanceLogger.d.ts.map +0 -1
  87. package/lib/typescript/highlight-updates/utils/ProfilerInterceptor.d.ts.map +0 -1
  88. package/lib/typescript/highlight-updates/utils/RenderCauseDetector.d.ts.map +0 -1
  89. package/lib/typescript/highlight-updates/utils/RenderTracker.d.ts.map +0 -1
  90. package/lib/typescript/highlight-updates/utils/ViewTypeMapper.d.ts.map +0 -1
  91. package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts.map +0 -1
  92. package/lib/typescript/highlight-updates/utils/devtoolsComponentNames.d.ts.map +0 -1
  93. package/lib/typescript/highlight-updates/utils/namedComposite.d.ts.map +0 -1
  94. package/lib/typescript/highlight-updates/utils/ownStateChanged.d.ts.map +0 -1
  95. package/lib/typescript/highlight-updates/utils/rawEventEmitter.d.ts.map +0 -1
  96. package/lib/typescript/highlight-updates/utils/renderExportFormatter.d.ts.map +0 -1
  97. package/lib/typescript/highlight-updates/utils/rendersExportFormatter.d.ts.map +0 -1
  98. package/lib/typescript/highlight-updates/utils/screenElements.d.ts.map +0 -1
  99. package/lib/typescript/highlight-updates/utils/tapMatch.d.ts.map +0 -1
  100. package/lib/typescript/highlight-updates/utils/testIDs.d.ts.map +0 -1
  101. package/lib/typescript/highlight-updates/utils/touchCapture.d.ts.map +0 -1
  102. package/lib/typescript/index.d.ts.map +0 -1
  103. package/lib/typescript/preset.d.ts.map +0 -1
  104. 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:!0}),exports.default=exports.RenderListItem=void 0;var _react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_sharedUi=require("@buoy-gg/shared-ui"),_IdentifierBadge=require("./IdentifierBadge"),_RenderCauseBadge=require("./RenderCauseBadge"),_testIDs=require("../utils/testIDs"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var i=new WeakMap,r=new WeakMap;return(_interopRequireWildcard=function(e,t){if(!t&&e&&e.__esModule)return e;var n,a,s={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return s;if(n=t?r:i){if(n.has(e))return n.get(e);n.set(e,s)}for(const t in e)"default"!==t&&{}.hasOwnProperty.call(e,t)&&((a=(n=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,t))&&(a.get||a.set)?n(s,t,a):s[t]=e[t]);return s})(e,t)}function RenderListItemInner({render:e,onPress:t}){const i=(0,_react.useMemo)(()=>e.testID?{type:"testID",value:e.testID}:e.nativeID?{type:"nativeID",value:e.nativeID}:e.componentName?{type:"component",value:e.componentName}:e.accessibilityLabel?{type:"accessibilityLabel",value:e.accessibilityLabel}:{type:"nativeTag",value:String(e.nativeTag)},[e.testID,e.nativeID,e.componentName,e.accessibilityLabel,e.nativeTag]),r=(0,_react.useMemo)(()=>e.accessibilityLabel&&"accessibilityLabel"!==i.type?{type:"accessibilityLabel",value:e.accessibilityLabel}:null,[e.accessibilityLabel,i.type]),n=(0,_sharedUi.useRelativeTime)(e.lastRenderTime),a=(0,_testIDs.renderRowTestID)(i.value);return(0,_jsxRuntime.jsxs)(_reactNative.TouchableOpacity,{testID:a,accessibilityRole:"button",accessibilityLabel:`${e.displayName}, ${i.type} ${i.value}, ${e.renderCount} renders`,style:styles.container,onPress:()=>t(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:`${a}-name`,style:styles.viewType,numberOfLines:1,children:e.displayName}),r?(0,_jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge,{type:r.type,value:r.value,compact:!0,shortLabel:!0}):e.displayName!==e.viewType?(0,_jsxRuntime.jsx)(_reactNative.Text,{testID:`${a}-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:`${a}-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:`${a}-cause`,cause:e.lastRenderCause,compact:!0,showKeys:!0,showTwoLevel:!0})}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.bottomRow,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.identifierContainer,children:(0,_jsxRuntime.jsx)(_IdentifierBadge.IdentifierBadge,{testID:`${a}-identifier`,type:i.type,value:i.value,compact:!0,shortLabel:!0})}),(0,_jsxRuntime.jsx)(_reactNative.Text,{testID:`${a}-time`,style:styles.timing,children:n})]})]}),(0,_jsxRuntime.jsx)(_sharedUi.ChevronRight,{size:16,color:_sharedUi.night.color.textTertiary})]})}const RenderListItem=exports.RenderListItem=_react.default.memo(RenderListItemInner,(e,t)=>{const i=e.render,r=t.render;return i.id===r.id&&i.renderCount===r.renderCount&&i.color===r.color&&i.lastRenderTime===r.lastRenderTime&&i.lastRenderCause?.type===r.lastRenderCause?.type&&i.lastRenderCause?.componentCause===r.lastRenderCause?.componentCause&&e.onPress===t.onPress}),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;