@buoy-gg/highlight-updates 7.0.38 → 7.0.40

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 (103) hide show
  1. package/lib/commonjs/highlight-updates/HighlightUpdatesOverlay.js +281 -1
  2. package/lib/commonjs/highlight-updates/components/HighlightFilterView.js +1474 -1
  3. package/lib/commonjs/highlight-updates/components/HighlightUpdatesModal.js +641 -1
  4. package/lib/commonjs/highlight-updates/components/IdentifierBadge.js +273 -1
  5. package/lib/commonjs/highlight-updates/components/IsolatedRenderList.js +188 -1
  6. package/lib/commonjs/highlight-updates/components/ModalHeaderContent.js +293 -1
  7. package/lib/commonjs/highlight-updates/components/RenderCauseBadge.js +508 -1
  8. package/lib/commonjs/highlight-updates/components/RenderDetailView.js +846 -1
  9. package/lib/commonjs/highlight-updates/components/RenderHistoryViewer.js +915 -1
  10. package/lib/commonjs/highlight-updates/components/RenderListItem.js +235 -1
  11. package/lib/commonjs/highlight-updates/components/RendersCopySettingsView.js +469 -1
  12. package/lib/commonjs/highlight-updates/components/StatsDisplay.js +73 -1
  13. package/lib/commonjs/highlight-updates/types/copySettings.js +107 -1
  14. package/lib/commonjs/highlight-updates/utils/CommitProfiler.js +446 -1
  15. package/lib/commonjs/highlight-updates/utils/HighlightUpdatesController.js +1920 -1
  16. package/lib/commonjs/highlight-updates/utils/PerformanceLogger.js +359 -1
  17. package/lib/commonjs/highlight-updates/utils/ProfilerInterceptor.js +371 -1
  18. package/lib/commonjs/highlight-updates/utils/RenderCauseDetector.js +1840 -1
  19. package/lib/commonjs/highlight-updates/utils/RenderTracker.js +952 -1
  20. package/lib/commonjs/highlight-updates/utils/ViewTypeMapper.js +264 -1
  21. package/lib/commonjs/highlight-updates/utils/copySettingsStorage.js +32 -1
  22. package/lib/commonjs/highlight-updates/utils/devtoolsComponentNames.js +188 -1
  23. package/lib/commonjs/highlight-updates/utils/namedComposite.js +41 -1
  24. package/lib/commonjs/highlight-updates/utils/ownStateChanged.js +103 -1
  25. package/lib/commonjs/highlight-updates/utils/rawEventEmitter.js +50 -1
  26. package/lib/commonjs/highlight-updates/utils/renderExportFormatter.js +58 -1
  27. package/lib/commonjs/highlight-updates/utils/rendersExportFormatter.js +485 -1
  28. package/lib/commonjs/highlight-updates/utils/screenElements.js +1248 -1
  29. package/lib/commonjs/highlight-updates/utils/tapMatch.js +83 -1
  30. package/lib/commonjs/highlight-updates/utils/testIDs.js +68 -1
  31. package/lib/commonjs/highlight-updates/utils/touchCapture.js +277 -1
  32. package/lib/commonjs/index.js +429 -1
  33. package/lib/commonjs/preset.js +278 -1
  34. package/lib/commonjs/sync/highlightUpdatesSyncAdapter.js +235 -1
  35. package/lib/module/highlight-updates/HighlightUpdatesOverlay.js +274 -1
  36. package/lib/module/highlight-updates/components/HighlightFilterView.js +1468 -1
  37. package/lib/module/highlight-updates/components/HighlightUpdatesModal.js +634 -1
  38. package/lib/module/highlight-updates/components/IdentifierBadge.js +265 -1
  39. package/lib/module/highlight-updates/components/IsolatedRenderList.js +183 -1
  40. package/lib/module/highlight-updates/components/ModalHeaderContent.js +288 -1
  41. package/lib/module/highlight-updates/components/RenderCauseBadge.js +499 -1
  42. package/lib/module/highlight-updates/components/RenderDetailView.js +840 -1
  43. package/lib/module/highlight-updates/components/RenderHistoryViewer.js +908 -1
  44. package/lib/module/highlight-updates/components/RenderListItem.js +230 -1
  45. package/lib/module/highlight-updates/components/RendersCopySettingsView.js +465 -1
  46. package/lib/module/highlight-updates/components/StatsDisplay.js +70 -1
  47. package/lib/module/highlight-updates/types/copySettings.js +102 -1
  48. package/lib/module/highlight-updates/utils/CommitProfiler.js +442 -1
  49. package/lib/module/highlight-updates/utils/HighlightUpdatesController.js +1916 -1
  50. package/lib/module/highlight-updates/utils/PerformanceLogger.js +353 -1
  51. package/lib/module/highlight-updates/utils/ProfilerInterceptor.js +358 -1
  52. package/lib/module/highlight-updates/utils/RenderCauseDetector.js +1830 -1
  53. package/lib/module/highlight-updates/utils/RenderTracker.js +949 -1
  54. package/lib/module/highlight-updates/utils/ViewTypeMapper.js +255 -1
  55. package/lib/module/highlight-updates/utils/copySettingsStorage.js +26 -1
  56. package/lib/module/highlight-updates/utils/devtoolsComponentNames.js +178 -1
  57. package/lib/module/highlight-updates/utils/namedComposite.js +36 -1
  58. package/lib/module/highlight-updates/utils/ownStateChanged.js +98 -1
  59. package/lib/module/highlight-updates/utils/rawEventEmitter.js +46 -1
  60. package/lib/module/highlight-updates/utils/renderExportFormatter.js +54 -1
  61. package/lib/module/highlight-updates/utils/rendersExportFormatter.js +478 -1
  62. package/lib/module/highlight-updates/utils/screenElements.js +1242 -1
  63. package/lib/module/highlight-updates/utils/tapMatch.js +76 -1
  64. package/lib/module/highlight-updates/utils/testIDs.js +60 -1
  65. package/lib/module/highlight-updates/utils/touchCapture.js +270 -1
  66. package/lib/module/index.js +130 -1
  67. package/lib/module/preset.js +272 -1
  68. package/lib/module/sync/highlightUpdatesSyncAdapter.js +230 -1
  69. package/lib/typescript/highlight-updates/HighlightUpdatesOverlay.d.ts.map +1 -0
  70. package/lib/typescript/highlight-updates/components/HighlightFilterView.d.ts.map +1 -0
  71. package/lib/typescript/highlight-updates/components/HighlightUpdatesModal.d.ts.map +1 -0
  72. package/lib/typescript/highlight-updates/components/IdentifierBadge.d.ts.map +1 -0
  73. package/lib/typescript/highlight-updates/components/IsolatedRenderList.d.ts.map +1 -0
  74. package/lib/typescript/highlight-updates/components/ModalHeaderContent.d.ts.map +1 -0
  75. package/lib/typescript/highlight-updates/components/RenderCauseBadge.d.ts.map +1 -0
  76. package/lib/typescript/highlight-updates/components/RenderDetailView.d.ts.map +1 -0
  77. package/lib/typescript/highlight-updates/components/RenderHistoryViewer.d.ts.map +1 -0
  78. package/lib/typescript/highlight-updates/components/RenderListItem.d.ts.map +1 -0
  79. package/lib/typescript/highlight-updates/components/RendersCopySettingsView.d.ts.map +1 -0
  80. package/lib/typescript/highlight-updates/components/StatsDisplay.d.ts.map +1 -0
  81. package/lib/typescript/highlight-updates/types/copySettings.d.ts.map +1 -0
  82. package/lib/typescript/highlight-updates/utils/CommitProfiler.d.ts.map +1 -0
  83. package/lib/typescript/highlight-updates/utils/HighlightUpdatesController.d.ts.map +1 -0
  84. package/lib/typescript/highlight-updates/utils/PerformanceLogger.d.ts.map +1 -0
  85. package/lib/typescript/highlight-updates/utils/ProfilerInterceptor.d.ts.map +1 -0
  86. package/lib/typescript/highlight-updates/utils/RenderCauseDetector.d.ts.map +1 -0
  87. package/lib/typescript/highlight-updates/utils/RenderTracker.d.ts.map +1 -0
  88. package/lib/typescript/highlight-updates/utils/ViewTypeMapper.d.ts.map +1 -0
  89. package/lib/typescript/highlight-updates/utils/copySettingsStorage.d.ts.map +1 -0
  90. package/lib/typescript/highlight-updates/utils/devtoolsComponentNames.d.ts.map +1 -0
  91. package/lib/typescript/highlight-updates/utils/namedComposite.d.ts.map +1 -0
  92. package/lib/typescript/highlight-updates/utils/ownStateChanged.d.ts.map +1 -0
  93. package/lib/typescript/highlight-updates/utils/rawEventEmitter.d.ts.map +1 -0
  94. package/lib/typescript/highlight-updates/utils/renderExportFormatter.d.ts.map +1 -0
  95. package/lib/typescript/highlight-updates/utils/rendersExportFormatter.d.ts.map +1 -0
  96. package/lib/typescript/highlight-updates/utils/screenElements.d.ts.map +1 -0
  97. package/lib/typescript/highlight-updates/utils/tapMatch.d.ts.map +1 -0
  98. package/lib/typescript/highlight-updates/utils/testIDs.d.ts.map +1 -0
  99. package/lib/typescript/highlight-updates/utils/touchCapture.d.ts.map +1 -0
  100. package/lib/typescript/index.d.ts.map +1 -0
  101. package/lib/typescript/preset.d.ts.map +1 -0
  102. package/lib/typescript/sync/highlightUpdatesSyncAdapter.d.ts.map +1 -0
  103. package/package.json +7 -7
@@ -1 +1,235 @@
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;
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;