@buoy-gg/images 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 (194) hide show
  1. package/README.md +11 -70
  2. package/lib/commonjs/autoCapture.js +1 -4
  3. package/lib/commonjs/autoCapture.web.js +1 -6
  4. package/lib/commonjs/capture/actions.js +1 -243
  5. package/lib/commonjs/capture/install.js +1 -45
  6. package/lib/commonjs/capture/install.web.js +1 -250
  7. package/lib/commonjs/capture/installExpoImage.js +1 -99
  8. package/lib/commonjs/capture/installRnImage.js +1 -132
  9. package/lib/commonjs/capture/nativeImageModules.js +1 -30
  10. package/lib/commonjs/capture/nativeImageModules.web.js +1 -18
  11. package/lib/commonjs/capture/overrides.js +1 -346
  12. package/lib/commonjs/capture/rnDecoratorEarly.js +1 -55
  13. package/lib/commonjs/capture/savings.js +1 -209
  14. package/lib/commonjs/capture/savings.web.js +1 -71
  15. package/lib/commonjs/capture/shared.js +1 -378
  16. package/lib/commonjs/components/ImageDetail.js +1 -455
  17. package/lib/commonjs/components/ImageDetailFooter.js +1 -158
  18. package/lib/commonjs/components/ImageRow.js +1 -156
  19. package/lib/commonjs/components/ImagesHeader.js +1 -63
  20. package/lib/commonjs/components/ImagesIcon.js +1 -19
  21. package/lib/commonjs/components/ImagesListFooter.js +1 -126
  22. package/lib/commonjs/components/ImagesModal.js +1 -240
  23. package/lib/commonjs/components/ImagesRoot.js +1 -24
  24. package/lib/commonjs/components/ImagesRoot.web.js +1 -13
  25. package/lib/commonjs/components/InsightsBar.js +1 -59
  26. package/lib/commonjs/export.js +1 -81
  27. package/lib/commonjs/format.js +1 -117
  28. package/lib/commonjs/hooks/useImageRecords.js +1 -20
  29. package/lib/commonjs/index.js +1 -261
  30. package/lib/commonjs/preset.js +1 -39
  31. package/lib/commonjs/register.js +1 -19
  32. package/lib/commonjs/registerEarly.js +1 -14
  33. package/lib/commonjs/remote.js +1 -42
  34. package/lib/commonjs/state.js +1 -58
  35. package/lib/commonjs/store/imageEventStore.js +1 -238
  36. package/lib/commonjs/store/insights.js +1 -76
  37. package/lib/commonjs/sync/imagesSyncAdapter.js +1 -361
  38. package/lib/commonjs/types.js +0 -1
  39. package/lib/module/autoCapture.js +1 -4
  40. package/lib/module/autoCapture.web.js +1 -5
  41. package/lib/module/capture/actions.js +1 -230
  42. package/lib/module/capture/install.js +1 -40
  43. package/lib/module/capture/install.web.js +1 -243
  44. package/lib/module/capture/installExpoImage.js +1 -94
  45. package/lib/module/capture/installRnImage.js +1 -125
  46. package/lib/module/capture/nativeImageModules.js +1 -24
  47. package/lib/module/capture/nativeImageModules.web.js +1 -12
  48. package/lib/module/capture/overrides.js +1 -329
  49. package/lib/module/capture/rnDecoratorEarly.js +1 -50
  50. package/lib/module/capture/savings.js +1 -205
  51. package/lib/module/capture/savings.web.js +1 -67
  52. package/lib/module/capture/shared.js +1 -369
  53. package/lib/module/components/ImageDetail.js +1 -451
  54. package/lib/module/components/ImageDetailFooter.js +1 -154
  55. package/lib/module/components/ImageRow.js +1 -152
  56. package/lib/module/components/ImagesHeader.js +1 -59
  57. package/lib/module/components/ImagesIcon.js +1 -12
  58. package/lib/module/components/ImagesListFooter.js +1 -122
  59. package/lib/module/components/ImagesModal.js +1 -235
  60. package/lib/module/components/ImagesRoot.js +1 -20
  61. package/lib/module/components/ImagesRoot.web.js +1 -9
  62. package/lib/module/components/InsightsBar.js +1 -55
  63. package/lib/module/export.js +1 -76
  64. package/lib/module/format.js +1 -108
  65. package/lib/module/hooks/useImageRecords.js +1 -16
  66. package/lib/module/index.js +1 -79
  67. package/lib/module/preset.js +1 -35
  68. package/lib/module/register.js +1 -19
  69. package/lib/module/registerEarly.js +1 -14
  70. package/lib/module/remote.js +1 -36
  71. package/lib/module/state.js +1 -54
  72. package/lib/module/store/imageEventStore.js +1 -221
  73. package/lib/module/store/insights.js +1 -71
  74. package/lib/module/sync/imagesSyncAdapter.js +1 -356
  75. package/lib/module/types.js +0 -1
  76. package/lib/web/chunks/chunk-TTS5EH4R.mjs +1 -2
  77. package/lib/web/index.mjs +3 -4
  78. package/lib/web/register.mjs +1 -2
  79. package/package.json +3 -7
  80. package/register.js +1 -15
  81. package/lib/commonjs/autoCapture.js.map +0 -1
  82. package/lib/commonjs/autoCapture.web.js.map +0 -1
  83. package/lib/commonjs/capture/actions.js.map +0 -1
  84. package/lib/commonjs/capture/install.js.map +0 -1
  85. package/lib/commonjs/capture/install.web.js.map +0 -1
  86. package/lib/commonjs/capture/installExpoImage.js.map +0 -1
  87. package/lib/commonjs/capture/installRnImage.js.map +0 -1
  88. package/lib/commonjs/capture/nativeImageModules.js.map +0 -1
  89. package/lib/commonjs/capture/nativeImageModules.web.js.map +0 -1
  90. package/lib/commonjs/capture/overrides.js.map +0 -1
  91. package/lib/commonjs/capture/rnDecoratorEarly.js.map +0 -1
  92. package/lib/commonjs/capture/savings.js.map +0 -1
  93. package/lib/commonjs/capture/savings.web.js.map +0 -1
  94. package/lib/commonjs/capture/shared.js.map +0 -1
  95. package/lib/commonjs/components/ImageDetail.js.map +0 -1
  96. package/lib/commonjs/components/ImageDetailFooter.js.map +0 -1
  97. package/lib/commonjs/components/ImageRow.js.map +0 -1
  98. package/lib/commonjs/components/ImagesHeader.js.map +0 -1
  99. package/lib/commonjs/components/ImagesIcon.js.map +0 -1
  100. package/lib/commonjs/components/ImagesListFooter.js.map +0 -1
  101. package/lib/commonjs/components/ImagesModal.js.map +0 -1
  102. package/lib/commonjs/components/ImagesRoot.js.map +0 -1
  103. package/lib/commonjs/components/ImagesRoot.web.js.map +0 -1
  104. package/lib/commonjs/components/InsightsBar.js.map +0 -1
  105. package/lib/commonjs/export.js.map +0 -1
  106. package/lib/commonjs/format.js.map +0 -1
  107. package/lib/commonjs/hooks/useImageRecords.js.map +0 -1
  108. package/lib/commonjs/index.js.map +0 -1
  109. package/lib/commonjs/preset.js.map +0 -1
  110. package/lib/commonjs/register.js.map +0 -1
  111. package/lib/commonjs/registerEarly.js.map +0 -1
  112. package/lib/commonjs/remote.js.map +0 -1
  113. package/lib/commonjs/state.js.map +0 -1
  114. package/lib/commonjs/store/imageEventStore.js.map +0 -1
  115. package/lib/commonjs/store/insights.js.map +0 -1
  116. package/lib/commonjs/sync/imagesSyncAdapter.js.map +0 -1
  117. package/lib/commonjs/types.js.map +0 -1
  118. package/lib/module/autoCapture.js.map +0 -1
  119. package/lib/module/autoCapture.web.js.map +0 -1
  120. package/lib/module/capture/actions.js.map +0 -1
  121. package/lib/module/capture/install.js.map +0 -1
  122. package/lib/module/capture/install.web.js.map +0 -1
  123. package/lib/module/capture/installExpoImage.js.map +0 -1
  124. package/lib/module/capture/installRnImage.js.map +0 -1
  125. package/lib/module/capture/nativeImageModules.js.map +0 -1
  126. package/lib/module/capture/nativeImageModules.web.js.map +0 -1
  127. package/lib/module/capture/overrides.js.map +0 -1
  128. package/lib/module/capture/rnDecoratorEarly.js.map +0 -1
  129. package/lib/module/capture/savings.js.map +0 -1
  130. package/lib/module/capture/savings.web.js.map +0 -1
  131. package/lib/module/capture/shared.js.map +0 -1
  132. package/lib/module/components/ImageDetail.js.map +0 -1
  133. package/lib/module/components/ImageDetailFooter.js.map +0 -1
  134. package/lib/module/components/ImageRow.js.map +0 -1
  135. package/lib/module/components/ImagesHeader.js.map +0 -1
  136. package/lib/module/components/ImagesIcon.js.map +0 -1
  137. package/lib/module/components/ImagesListFooter.js.map +0 -1
  138. package/lib/module/components/ImagesModal.js.map +0 -1
  139. package/lib/module/components/ImagesRoot.js.map +0 -1
  140. package/lib/module/components/ImagesRoot.web.js.map +0 -1
  141. package/lib/module/components/InsightsBar.js.map +0 -1
  142. package/lib/module/export.js.map +0 -1
  143. package/lib/module/format.js.map +0 -1
  144. package/lib/module/hooks/useImageRecords.js.map +0 -1
  145. package/lib/module/index.js.map +0 -1
  146. package/lib/module/preset.js.map +0 -1
  147. package/lib/module/register.js.map +0 -1
  148. package/lib/module/registerEarly.js.map +0 -1
  149. package/lib/module/remote.js.map +0 -1
  150. package/lib/module/state.js.map +0 -1
  151. package/lib/module/store/imageEventStore.js.map +0 -1
  152. package/lib/module/store/insights.js.map +0 -1
  153. package/lib/module/sync/imagesSyncAdapter.js.map +0 -1
  154. package/lib/module/types.js.map +0 -1
  155. package/lib/typescript/autoCapture.d.ts.map +0 -1
  156. package/lib/typescript/autoCapture.web.d.ts.map +0 -1
  157. package/lib/typescript/capture/actions.d.ts.map +0 -1
  158. package/lib/typescript/capture/install.d.ts.map +0 -1
  159. package/lib/typescript/capture/install.web.d.ts.map +0 -1
  160. package/lib/typescript/capture/installExpoImage.d.ts.map +0 -1
  161. package/lib/typescript/capture/installRnImage.d.ts.map +0 -1
  162. package/lib/typescript/capture/nativeImageModules.d.ts.map +0 -1
  163. package/lib/typescript/capture/nativeImageModules.web.d.ts.map +0 -1
  164. package/lib/typescript/capture/overrides.d.ts.map +0 -1
  165. package/lib/typescript/capture/rnDecoratorEarly.d.ts.map +0 -1
  166. package/lib/typescript/capture/savings.d.ts.map +0 -1
  167. package/lib/typescript/capture/savings.web.d.ts.map +0 -1
  168. package/lib/typescript/capture/shared.d.ts.map +0 -1
  169. package/lib/typescript/components/ImageDetail.d.ts.map +0 -1
  170. package/lib/typescript/components/ImageDetailFooter.d.ts.map +0 -1
  171. package/lib/typescript/components/ImageRow.d.ts.map +0 -1
  172. package/lib/typescript/components/ImagesHeader.d.ts.map +0 -1
  173. package/lib/typescript/components/ImagesIcon.d.ts.map +0 -1
  174. package/lib/typescript/components/ImagesListFooter.d.ts.map +0 -1
  175. package/lib/typescript/components/ImagesModal.d.ts.map +0 -1
  176. package/lib/typescript/components/ImagesRoot.d.ts.map +0 -1
  177. package/lib/typescript/components/ImagesRoot.web.d.ts.map +0 -1
  178. package/lib/typescript/components/InsightsBar.d.ts.map +0 -1
  179. package/lib/typescript/export.d.ts.map +0 -1
  180. package/lib/typescript/format.d.ts.map +0 -1
  181. package/lib/typescript/hooks/useImageRecords.d.ts.map +0 -1
  182. package/lib/typescript/index.d.ts.map +0 -1
  183. package/lib/typescript/preset.d.ts.map +0 -1
  184. package/lib/typescript/register.d.ts.map +0 -1
  185. package/lib/typescript/registerEarly.d.ts.map +0 -1
  186. package/lib/typescript/remote.d.ts.map +0 -1
  187. package/lib/typescript/state.d.ts.map +0 -1
  188. package/lib/typescript/store/imageEventStore.d.ts.map +0 -1
  189. package/lib/typescript/store/insights.d.ts.map +0 -1
  190. package/lib/typescript/sync/imagesSyncAdapter.d.ts.map +0 -1
  191. package/lib/typescript/types.d.ts.map +0 -1
  192. package/lib/web/chunks/chunk-7CWLRQ2L.mjs +0 -2
  193. package/lib/web/chunks/chunk-B5A6CYSS.mjs +0 -2
  194. package/lib/web/chunks/chunk-LKTR6X2V.mjs +0 -2
@@ -1,59 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InsightsBar = InsightsBar;
7
- var _reactNative = require("react-native");
8
- var _sharedUi = require("@buoy-gg/shared-ui");
9
- var _insights = require("../store/insights");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- /**
12
- * InsightsBar — compact warning chips above the list when cross-record
13
- * findings exist (duplicates, retry storms, queue saturation, missing alt,
14
- * layout shifts). Renders nothing when all clear.
15
- *
16
- * A wrapping row (not a horizontal ScrollView — that under-measures its
17
- * height inside the modal's flex column and clips the chips).
18
- */
19
-
20
- function InsightsBar({
21
- insights
22
- }) {
23
- const chips = (0, _insights.insightChips)(insights);
24
- if (chips.length === 0) return null;
25
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
26
- style: styles.bar,
27
- children: chips.map(chip => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
28
- style: styles.chip,
29
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
30
- style: styles.chipText,
31
- children: chip
32
- })
33
- }, chip))
34
- });
35
- }
36
- const styles = _reactNative.StyleSheet.create({
37
- bar: {
38
- flexDirection: "row",
39
- flexWrap: "wrap",
40
- gap: 6,
41
- paddingHorizontal: 10,
42
- paddingVertical: 8,
43
- borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
44
- borderBottomColor: _sharedUi.night.color.border
45
- },
46
- chip: {
47
- backgroundColor: _sharedUi.night.color.warningSoft,
48
- borderRadius: 999,
49
- paddingHorizontal: 10,
50
- paddingVertical: 5
51
- },
52
- chipText: {
53
- color: _sharedUi.night.color.warning,
54
- fontSize: 10,
55
- fontWeight: "600",
56
- lineHeight: 13
57
- }
58
- });
59
- //# sourceMappingURL=InsightsBar.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.InsightsBar=InsightsBar;var _reactNative=require("react-native");var _sharedUi=require("@buoy-gg/shared-ui");var _insights=require("../store/insights");var _jsxRuntime=require("react/jsx-runtime");function InsightsBar({insights:t}){const e=(0,_insights.insightChips)(t);if(e.length===0)return null;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.bar,children:e.map(r=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.chip,children:(0,_jsxRuntime.jsx)(_reactNative.Text,{style:styles.chipText,children:r})},r))})}const styles=_reactNative.StyleSheet.create({bar:{flexDirection:"row",flexWrap:"wrap",gap:6,paddingHorizontal:10,paddingVertical:8,borderBottomWidth:_reactNative.StyleSheet.hairlineWidth,borderBottomColor:_sharedUi.night.color.border},chip:{backgroundColor:_sharedUi.night.color.warningSoft,borderRadius:999,paddingHorizontal:10,paddingVertical:5},chipText:{color:_sharedUi.night.color.warning,fontSize:10,fontWeight:"600",lineHeight:13}});
@@ -1,81 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.formatRecordMarkdown = formatRecordMarkdown;
7
- exports.formatRegistryMarkdown = formatRegistryMarkdown;
8
- var _reactNative = require("react-native");
9
- var _imageEventStore = require("./store/imageEventStore");
10
- var _insights = require("./store/insights");
11
- var _format = require("./format");
12
- /**
13
- * Copy-friendly markdown reports — paste-ready context for an issue, PR, or
14
- * an AI chat. One for the whole registry (list header copy) and one for a
15
- * single record (detail header copy).
16
- */
17
-
18
- function formatRecordMarkdown(record) {
19
- const verdict = (0, _format.sizeVerdict)(record);
20
- const cache = (0, _format.cacheBadge)(record);
21
- const needed = (0, _imageEventStore.neededPixels)(record);
22
- const decoded = (0, _imageEventStore.estDecodedBytes)(record);
23
- const wasted = (0, _imageEventStore.estWastedBytes)(record);
24
- const lines = [];
25
- lines.push(`## Image report — ${(0, _format.uriTail)(record.uri)}`);
26
- lines.push("");
27
- lines.push(`- URI: ${record.uri || "(none)"}`);
28
- lines.push(`- Library: ${record.lib === "expo" ? "expo-image" : "RN <Image>"} · kind: ${record.sourceKind} · mounted: ${record.mounted ? "yes" : "no"}`);
29
- lines.push(`- Status: ${record.status}${record.errorCode ? ` (HTTP ${record.errorCode})` : ""} · load cycles: ${record.loadCount}`);
30
- lines.push(`- Cache: ${cache.label}${record.cacheVerdictSource ? ` (via ${record.cacheVerdictSource === "event" ? "expo onLoad" : "Image.queryCache"})` : ""}`);
31
- lines.push(`- Load time: ${(0, _format.formatMs)(record.durationMs)}${record.displayedAt && record.loadedAt ? ` · decode→display ${(0, _format.formatMs)(Math.max(0, record.displayedAt - record.loadedAt))}` : ""}`);
32
- if (record.intrinsic) {
33
- lines.push(`- Decoded: ${record.intrinsic.width}×${record.intrinsic.height}px${record.mediaType ? ` (${record.mediaType})` : ""}${record.isAnimated ? " animated" : ""} ≈ ${(0, _format.formatBytes)(decoded)} decoded memory`);
34
- }
35
- if (record.layout) {
36
- lines.push(`- Displayed: ${Math.round(record.layout.width)}×${Math.round(record.layout.height)}dp @${_reactNative.PixelRatio.get()}x (needs ${needed ? `${needed.width}×${needed.height}px` : "?"})`);
37
- }
38
- if (verdict.label) {
39
- lines.push(`- Size verdict: ${verdict.label}${wasted > 0 && needed ? ` — wasting ≈${(0, _format.formatBytes)(wasted)}; serve ${needed.width}×${needed.height}` : ""}`);
40
- }
41
- if (record.progressSeen) {
42
- lines.push(`- Network transfer: ${record.bytesTotal ? (0, _format.formatBytes)(record.bytesTotal) : "observed"}`);
43
- }
44
- if (record.hasAltText === false) lines.push(`- Accessibility: MISSING alt/accessibilityLabel`);
45
- if ((record.layoutShifts ?? 0) > 0) lines.push(`- Layout shifts after load: ${record.layoutShifts} (reserve explicit dimensions)`);
46
- if (record.error) {
47
- lines.push(`- Error: ${record.error}`);
48
- if (record.errorHeaders) {
49
- lines.push(`- Response headers: ${JSON.stringify(record.errorHeaders)}`);
50
- }
51
- }
52
- if (record.overrideLabel) lines.push(`- Simulation active: ${record.overrideLabel}`);
53
- return lines.join("\n");
54
- }
55
- function formatRegistryMarkdown(records, stats, insights, captureStatus, modes) {
56
- const lines = [];
57
- lines.push(`## Buoy Images registry (${stats.total} records)`);
58
- lines.push("");
59
- lines.push(`${stats.loaded} loaded · ${stats.errors} failed · ${stats.loading} in flight · ≈${(0, _format.formatBytes)(stats.estDecodedBytes)} decoded` + (stats.estWastedBytes > 0 ? ` · ${(0, _format.formatBytes)(stats.estWastedBytes)} wasted on oversized sources` : ""));
60
- const chips = (0, _insights.insightChips)(insights);
61
- if (chips.length > 0) lines.push(`Insights: ${chips.join(" · ")}`);
62
- if (modes.network !== "normal" || modes.blank) {
63
- lines.push(`Simulation active: network=${modes.network}${modes.blank ? ", blank images" : ""}`);
64
- }
65
- if (captureStatus.rnDecoratorTooLate) {
66
- lines.push(`⚠ RN <Image> capture inactive (register import too late)`);
67
- }
68
- lines.push("");
69
- lines.push("| image | lib | status | cache | ms | decoded px | shown dp | verdict | notes |");
70
- lines.push("|---|---|---|---|---|---|---|---|---|");
71
- for (const r of records) {
72
- const verdict = (0, _format.sizeVerdict)(r);
73
- const cache = (0, _format.cacheBadge)(r);
74
- const dims = r.intrinsic ? `${r.intrinsic.width}×${r.intrinsic.height}` : "–";
75
- const layout = r.layout ? `${Math.round(r.layout.width)}×${Math.round(r.layout.height)}` : "–";
76
- const notes = [r.error ? `error: ${r.error}` : null, r.overrideLabel ? `sim: ${r.overrideLabel}` : null, r.hasAltText === false ? "no alt" : null, (r.layoutShifts ?? 0) > 0 ? `${r.layoutShifts} layout shifts` : null, r.mounted ? null : "unmounted"].filter(Boolean).join("; ");
77
- lines.push(`| ${(0, _format.uriTail)(r.uri)} | ${r.lib} | ${r.status} | ${cache.label} | ${r.durationMs != null ? Math.round(r.durationMs) : "–"} | ${dims} | ${layout} | ${verdict.label || "–"} | ${notes || "–"} |`);
78
- }
79
- return lines.join("\n");
80
- }
81
- //# sourceMappingURL=export.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.formatRecordMarkdown=formatRecordMarkdown;exports.formatRegistryMarkdown=formatRegistryMarkdown;var _reactNative=require("react-native");var _imageEventStore=require("./store/imageEventStore");var _insights=require("./store/insights");var _format=require("./format");function formatRecordMarkdown(e){const a=(0,_format.sizeVerdict)(e);const u=(0,_format.cacheBadge)(e);const n=(0,_imageEventStore.neededPixels)(e);const o=(0,_imageEventStore.estDecodedBytes)(e);const s=(0,_imageEventStore.estWastedBytes)(e);const i=[];i.push(`## Image report \u2014 ${(0,_format.uriTail)(e.uri)}`);i.push("");i.push(`- URI: ${e.uri||"(none)"}`);i.push(`- Library: ${e.lib==="expo"?"expo-image":"RN <Image>"} \xB7 kind: ${e.sourceKind} \xB7 mounted: ${e.mounted?"yes":"no"}`);i.push(`- Status: ${e.status}${e.errorCode?` (HTTP ${e.errorCode})`:""} \xB7 load cycles: ${e.loadCount}`);i.push(`- Cache: ${u.label}${e.cacheVerdictSource?` (via ${e.cacheVerdictSource==="event"?"expo onLoad":"Image.queryCache"})`:""}`);i.push(`- Load time: ${(0,_format.formatMs)(e.durationMs)}${e.displayedAt&&e.loadedAt?` \xB7 decode\u2192display ${(0,_format.formatMs)(Math.max(0,e.displayedAt-e.loadedAt))}`:""}`);if(e.intrinsic){i.push(`- Decoded: ${e.intrinsic.width}\xD7${e.intrinsic.height}px${e.mediaType?` (${e.mediaType})`:""}${e.isAnimated?" animated":""} \u2248 ${(0,_format.formatBytes)(o)} decoded memory`)}if(e.layout){i.push(`- Displayed: ${Math.round(e.layout.width)}\xD7${Math.round(e.layout.height)}dp @${_reactNative.PixelRatio.get()}x (needs ${n?`${n.width}\xD7${n.height}px`:"?"})`)}if(a.label){i.push(`- Size verdict: ${a.label}${s>0&&n?` \u2014 wasting \u2248${(0,_format.formatBytes)(s)}; serve ${n.width}\xD7${n.height}`:""}`)}if(e.progressSeen){i.push(`- Network transfer: ${e.bytesTotal?(0,_format.formatBytes)(e.bytesTotal):"observed"}`)}if(e.hasAltText===false)i.push(`- Accessibility: MISSING alt/accessibilityLabel`);if((e.layoutShifts??0)>0)i.push(`- Layout shifts after load: ${e.layoutShifts} (reserve explicit dimensions)`);if(e.error){i.push(`- Error: ${e.error}`);if(e.errorHeaders){i.push(`- Response headers: ${JSON.stringify(e.errorHeaders)}`)}}if(e.overrideLabel)i.push(`- Simulation active: ${e.overrideLabel}`);return i.join("\n")}function formatRegistryMarkdown(e,a,u,n,o){const s=[];s.push(`## Buoy Images registry (${a.total} records)`);s.push("");s.push(`${a.loaded} loaded \xB7 ${a.errors} failed \xB7 ${a.loading} in flight \xB7 \u2248${(0,_format.formatBytes)(a.estDecodedBytes)} decoded`+(a.estWastedBytes>0?` \xB7 ${(0,_format.formatBytes)(a.estWastedBytes)} wasted on oversized sources`:""));const i=(0,_insights.insightChips)(u);if(i.length>0)s.push(`Insights: ${i.join(" \xB7 ")}`);if(o.network!=="normal"||o.blank){s.push(`Simulation active: network=${o.network}${o.blank?", blank images":""}`)}if(n.rnDecoratorTooLate){s.push(`\u26A0 RN <Image> capture inactive (register import too late)`)}s.push("");s.push("| image | lib | status | cache | ms | decoded px | shown dp | verdict | notes |");s.push("|---|---|---|---|---|---|---|---|---|");for(const t of e){const l=(0,_format.sizeVerdict)(t);const r=(0,_format.cacheBadge)(t);const h=t.intrinsic?`${t.intrinsic.width}\xD7${t.intrinsic.height}`:"\u2013";const d=t.layout?`${Math.round(t.layout.width)}\xD7${Math.round(t.layout.height)}`:"\u2013";const $=[t.error?`error: ${t.error}`:null,t.overrideLabel?`sim: ${t.overrideLabel}`:null,t.hasAltText===false?"no alt":null,(t.layoutShifts??0)>0?`${t.layoutShifts} layout shifts`:null,t.mounted?null:"unmounted"].filter(Boolean).join("; ");s.push(`| ${(0,_format.uriTail)(t.uri)} | ${t.lib} | ${t.status} | ${r.label} | ${t.durationMs!=null?Math.round(t.durationMs):"\u2013"} | ${h} | ${d} | ${l.label||"\u2013"} | ${$||"\u2013"} |`)}return s.join("\n")}
@@ -1,117 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.cacheBadge = cacheBadge;
7
- exports.formatBytes = formatBytes;
8
- exports.formatMs = formatMs;
9
- exports.sizeVerdict = sizeVerdict;
10
- exports.statusColor = statusColor;
11
- exports.uriTail = uriTail;
12
- var _sharedUi = require("@buoy-gg/shared-ui");
13
- var _imageEventStore = require("./store/imageEventStore");
14
- /**
15
- * Formatting + verdict helpers shared by list rows and the detail view.
16
- */
17
-
18
- function formatBytes(bytes) {
19
- if (bytes <= 0) return "0 B";
20
- if (bytes < 1024) return `${bytes} B`;
21
- if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
22
- return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
23
- }
24
- function formatMs(ms) {
25
- if (ms == null) return "—";
26
- if (ms < 1000) return `${Math.round(ms)}ms`;
27
- return `${(ms / 1000).toFixed(2)}s`;
28
- }
29
-
30
- /** Last path segment of a URI, for compact row display. */
31
- function uriTail(uri) {
32
- if (!uri) return "(no source)";
33
- // Metro dev-server asset URLs put the real path in ?unstable_path=…
34
- const unstable = uri.match(/[?&]unstable_path=([^&?]+)/);
35
- const effective = unstable ? decodeURIComponent(unstable[1]) : uri;
36
- const withoutQuery = effective.split("?")[0] ?? effective;
37
- const segments = withoutQuery.split("/").filter(Boolean);
38
- return segments[segments.length - 1] ?? effective;
39
- }
40
- /**
41
- * Fresco-style fit verdict: green within 10%, yellow within 50%, red beyond.
42
- * Undersized sources (upscaled, likely blurry) get their own callout.
43
- */
44
- function sizeVerdict(record) {
45
- const factor = (0, _imageEventStore.oversizeFactor)(record);
46
- if (factor == null) return {
47
- label: "",
48
- color: _sharedUi.night.color.textTertiary,
49
- factor
50
- };
51
- if (factor < 0.9) {
52
- return {
53
- label: `${factor.toFixed(1)}× upscaled`,
54
- color: _sharedUi.macOSColors.semantic.info,
55
- factor
56
- };
57
- }
58
- if (factor <= 1.1) {
59
- return {
60
- label: "right-sized",
61
- color: _sharedUi.macOSColors.semantic.success,
62
- factor
63
- };
64
- }
65
- if (factor <= 1.5) {
66
- return {
67
- label: `${factor.toFixed(1)}× oversized`,
68
- color: _sharedUi.macOSColors.semantic.warning,
69
- factor
70
- };
71
- }
72
- return {
73
- label: `${factor.toFixed(1)}× oversized`,
74
- color: _sharedUi.macOSColors.semantic.error,
75
- factor
76
- };
77
- }
78
- function statusColor(record) {
79
- switch (record.status) {
80
- case "loaded":
81
- return _sharedUi.macOSColors.semantic.success;
82
- case "error":
83
- return _sharedUi.macOSColors.semantic.error;
84
- case "loading":
85
- return _sharedUi.macOSColors.semantic.warning;
86
- default:
87
- return _sharedUi.night.color.textTertiary;
88
- }
89
- }
90
-
91
- /** Cache verdict badge text + tint (memory=green, disk=yellow, network=red). */
92
- function cacheBadge(record) {
93
- const verdict = record.cacheVerdict;
94
- if (verdict === "memory" || verdict === "disk/memory") {
95
- return {
96
- label: verdict.toUpperCase(),
97
- color: _sharedUi.macOSColors.semantic.success
98
- };
99
- }
100
- if (verdict === "disk") {
101
- return {
102
- label: "DISK",
103
- color: _sharedUi.macOSColors.semantic.warning
104
- };
105
- }
106
- if (verdict === "none" || record.progressSeen) {
107
- return {
108
- label: "NETWORK",
109
- color: _sharedUi.macOSColors.semantic.error
110
- };
111
- }
112
- return {
113
- label: "?",
114
- color: _sharedUi.night.color.textTertiary
115
- };
116
- }
117
- //# sourceMappingURL=format.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.cacheBadge=cacheBadge;exports.formatBytes=formatBytes;exports.formatMs=formatMs;exports.sizeVerdict=sizeVerdict;exports.statusColor=statusColor;exports.uriTail=uriTail;var _sharedUi=require("@buoy-gg/shared-ui");var _imageEventStore=require("./store/imageEventStore");function formatBytes(e){if(e<=0)return"0 B";if(e<1024)return`${e} B`;if(e<1024*1024)return`${(e/1024).toFixed(1)} KB`;return`${(e/(1024*1024)).toFixed(1)} MB`}function formatMs(e){if(e==null)return"\u2014";if(e<1e3)return`${Math.round(e)}ms`;return`${(e/1e3).toFixed(2)}s`}function uriTail(e){if(!e)return"(no source)";const r=e.match(/[?&]unstable_path=([^&?]+)/);const t=r?decodeURIComponent(r[1]):e;const n=t.split("?")[0]??t;const o=n.split("/").filter(Boolean);return o[o.length-1]??t}function sizeVerdict(e){const r=(0,_imageEventStore.oversizeFactor)(e);if(r==null)return{label:"",color:_sharedUi.night.color.textTertiary,factor:r};if(r<.9){return{label:`${r.toFixed(1)}\xD7 upscaled`,color:_sharedUi.macOSColors.semantic.info,factor:r}}if(r<=1.1){return{label:"right-sized",color:_sharedUi.macOSColors.semantic.success,factor:r}}if(r<=1.5){return{label:`${r.toFixed(1)}\xD7 oversized`,color:_sharedUi.macOSColors.semantic.warning,factor:r}}return{label:`${r.toFixed(1)}\xD7 oversized`,color:_sharedUi.macOSColors.semantic.error,factor:r}}function statusColor(e){switch(e.status){case"loaded":return _sharedUi.macOSColors.semantic.success;case"error":return _sharedUi.macOSColors.semantic.error;case"loading":return _sharedUi.macOSColors.semantic.warning;default:return _sharedUi.night.color.textTertiary}}function cacheBadge(e){const r=e.cacheVerdict;if(r==="memory"||r==="disk/memory"){return{label:r.toUpperCase(),color:_sharedUi.macOSColors.semantic.success}}if(r==="disk"){return{label:"DISK",color:_sharedUi.macOSColors.semantic.warning}}if(r==="none"||e.progressSeen){return{label:"NETWORK",color:_sharedUi.macOSColors.semantic.error}}return{label:"?",color:_sharedUi.night.color.textTertiary}}
@@ -1,20 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useImageRecords = useImageRecords;
7
- var _react = require("react");
8
- var _imageEventStore = require("../store/imageEventStore");
9
- /**
10
- * React bindings for the image event store.
11
- */
12
-
13
- function useImageRecords() {
14
- const snapshot = (0, _react.useSyncExternalStore)(_imageEventStore.subscribe, _imageEventStore.getSnapshot, _imageEventStore.getSnapshot);
15
- return (0, _react.useMemo)(() => ({
16
- records: [...snapshot].reverse(),
17
- stats: (0, _imageEventStore.computeStats)(snapshot)
18
- }), [snapshot]);
19
- }
20
- //# sourceMappingURL=useImageRecords.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.useImageRecords=useImageRecords;var _react=require("react");var _imageEventStore=require("../store/imageEventStore");function useImageRecords(){const e=(0,_react.useSyncExternalStore)(_imageEventStore.subscribe,_imageEventStore.getSnapshot,_imageEventStore.getSnapshot);return(0,_react.useMemo)(()=>({records:[...e].reverse(),stats:(0,_imageEventStore.computeStats)(e)}),[e])}
@@ -1,261 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "IMAGES_ICON_COLOR", {
7
- enumerable: true,
8
- get: function () {
9
- return _ImagesIcon.IMAGES_ICON_COLOR;
10
- }
11
- });
12
- Object.defineProperty(exports, "ImagesIcon", {
13
- enumerable: true,
14
- get: function () {
15
- return _ImagesIcon.ImagesIcon;
16
- }
17
- });
18
- Object.defineProperty(exports, "ImagesModal", {
19
- enumerable: true,
20
- get: function () {
21
- return _ImagesModal.ImagesModal;
22
- }
23
- });
24
- Object.defineProperty(exports, "ImagesRoot", {
25
- enumerable: true,
26
- get: function () {
27
- return _ImagesRoot.ImagesRoot;
28
- }
29
- });
30
- Object.defineProperty(exports, "ImagesToolView", {
31
- enumerable: true,
32
- get: function () {
33
- return _ImagesModal.ImagesToolView;
34
- }
35
- });
36
- Object.defineProperty(exports, "clearAllOverrides", {
37
- enumerable: true,
38
- get: function () {
39
- return _overrides.clearAllOverrides;
40
- }
41
- });
42
- Object.defineProperty(exports, "clearOverride", {
43
- enumerable: true,
44
- get: function () {
45
- return _overrides.clearOverride;
46
- }
47
- });
48
- Object.defineProperty(exports, "clearRecords", {
49
- enumerable: true,
50
- get: function () {
51
- return _imageEventStore.clearRecords;
52
- }
53
- });
54
- Object.defineProperty(exports, "computeInsights", {
55
- enumerable: true,
56
- get: function () {
57
- return _insights.computeInsights;
58
- }
59
- });
60
- Object.defineProperty(exports, "computeStats", {
61
- enumerable: true,
62
- get: function () {
63
- return _imageEventStore.computeStats;
64
- }
65
- });
66
- Object.defineProperty(exports, "createImagesTool", {
67
- enumerable: true,
68
- get: function () {
69
- return _preset.createImagesTool;
70
- }
71
- });
72
- Object.defineProperty(exports, "disableImagesCapture", {
73
- enumerable: true,
74
- get: function () {
75
- return _imageEventStore.disableImagesCapture;
76
- }
77
- });
78
- Object.defineProperty(exports, "estDecodedBytes", {
79
- enumerable: true,
80
- get: function () {
81
- return _imageEventStore.estDecodedBytes;
82
- }
83
- });
84
- Object.defineProperty(exports, "estWastedBytes", {
85
- enumerable: true,
86
- get: function () {
87
- return _imageEventStore.estWastedBytes;
88
- }
89
- });
90
- Object.defineProperty(exports, "evictExpoDiskEntry", {
91
- enumerable: true,
92
- get: function () {
93
- return _actions.evictExpoDiskEntry;
94
- }
95
- });
96
- Object.defineProperty(exports, "flashAllMounted", {
97
- enumerable: true,
98
- get: function () {
99
- return _overrides.flashAllMounted;
100
- }
101
- });
102
- Object.defineProperty(exports, "flashRecord", {
103
- enumerable: true,
104
- get: function () {
105
- return _overrides.flashRecord;
106
- }
107
- });
108
- Object.defineProperty(exports, "formatRecordMarkdown", {
109
- enumerable: true,
110
- get: function () {
111
- return _export.formatRecordMarkdown;
112
- }
113
- });
114
- Object.defineProperty(exports, "formatRegistryMarkdown", {
115
- enumerable: true,
116
- get: function () {
117
- return _export.formatRegistryMarkdown;
118
- }
119
- });
120
- Object.defineProperty(exports, "getCaptureStatus", {
121
- enumerable: true,
122
- get: function () {
123
- return _install.getCaptureStatus;
124
- }
125
- });
126
- Object.defineProperty(exports, "getGlobalModes", {
127
- enumerable: true,
128
- get: function () {
129
- return _overrides.getGlobalModes;
130
- }
131
- });
132
- Object.defineProperty(exports, "getImageRecords", {
133
- enumerable: true,
134
- get: function () {
135
- return _imageEventStore.getSnapshot;
136
- }
137
- });
138
- Object.defineProperty(exports, "getOverride", {
139
- enumerable: true,
140
- get: function () {
141
- return _overrides.getOverride;
142
- }
143
- });
144
- Object.defineProperty(exports, "hardReloadAllMounted", {
145
- enumerable: true,
146
- get: function () {
147
- return _actions.hardReloadAllMounted;
148
- }
149
- });
150
- Object.defineProperty(exports, "hardReloadRecord", {
151
- enumerable: true,
152
- get: function () {
153
- return _actions.hardReloadRecord;
154
- }
155
- });
156
- Object.defineProperty(exports, "imagesSyncAdapter", {
157
- enumerable: true,
158
- get: function () {
159
- return _imagesSyncAdapter.imagesSyncAdapter;
160
- }
161
- });
162
- Object.defineProperty(exports, "imagesToolPreset", {
163
- enumerable: true,
164
- get: function () {
165
- return _preset.imagesToolPreset;
166
- }
167
- });
168
- Object.defineProperty(exports, "insightChips", {
169
- enumerable: true,
170
- get: function () {
171
- return _insights.insightChips;
172
- }
173
- });
174
- Object.defineProperty(exports, "installImageCapture", {
175
- enumerable: true,
176
- get: function () {
177
- return _install.installImageCapture;
178
- }
179
- });
180
- Object.defineProperty(exports, "oversizeFactor", {
181
- enumerable: true,
182
- get: function () {
183
- return _imageEventStore.oversizeFactor;
184
- }
185
- });
186
- Object.defineProperty(exports, "proveSavings", {
187
- enumerable: true,
188
- get: function () {
189
- return _savings.proveSavings;
190
- }
191
- });
192
- Object.defineProperty(exports, "replaceImagesFromSnapshot", {
193
- enumerable: true,
194
- get: function () {
195
- return _imageEventStore.replaceImagesFromSnapshot;
196
- }
197
- });
198
- Object.defineProperty(exports, "retryRecord", {
199
- enumerable: true,
200
- get: function () {
201
- return _actions.retryRecord;
202
- }
203
- });
204
- Object.defineProperty(exports, "setBlankImages", {
205
- enumerable: true,
206
- get: function () {
207
- return _overrides.setBlankImages;
208
- }
209
- });
210
- Object.defineProperty(exports, "setNetworkMode", {
211
- enumerable: true,
212
- get: function () {
213
- return _overrides.setNetworkMode;
214
- }
215
- });
216
- Object.defineProperty(exports, "setOverride", {
217
- enumerable: true,
218
- get: function () {
219
- return _overrides.setOverride;
220
- }
221
- });
222
- Object.defineProperty(exports, "setOverrideForAllMounted", {
223
- enumerable: true,
224
- get: function () {
225
- return _overrides.setOverrideForAllMounted;
226
- }
227
- });
228
- Object.defineProperty(exports, "setRemoteImagesHandler", {
229
- enumerable: true,
230
- get: function () {
231
- return _remote.setRemoteImagesHandler;
232
- }
233
- });
234
- Object.defineProperty(exports, "subscribeImageRecords", {
235
- enumerable: true,
236
- get: function () {
237
- return _imageEventStore.subscribe;
238
- }
239
- });
240
- Object.defineProperty(exports, "useImageRecords", {
241
- enumerable: true,
242
- get: function () {
243
- return _useImageRecords.useImageRecords;
244
- }
245
- });
246
- require("./autoCapture");
247
- var _preset = require("./preset");
248
- var _ImagesRoot = require("./components/ImagesRoot");
249
- var _ImagesModal = require("./components/ImagesModal");
250
- var _ImagesIcon = require("./components/ImagesIcon");
251
- var _install = require("./capture/install");
252
- var _actions = require("./capture/actions");
253
- var _overrides = require("./capture/overrides");
254
- var _savings = require("./capture/savings");
255
- var _insights = require("./store/insights");
256
- var _export = require("./export");
257
- var _imagesSyncAdapter = require("./sync/imagesSyncAdapter");
258
- var _imageEventStore = require("./store/imageEventStore");
259
- var _remote = require("./remote");
260
- var _useImageRecords = require("./hooks/useImageRecords");
261
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"IMAGES_ICON_COLOR",{enumerable:true,get:function(){return _ImagesIcon.IMAGES_ICON_COLOR}});Object.defineProperty(exports,"ImagesIcon",{enumerable:true,get:function(){return _ImagesIcon.ImagesIcon}});Object.defineProperty(exports,"ImagesModal",{enumerable:true,get:function(){return _ImagesModal.ImagesModal}});Object.defineProperty(exports,"ImagesRoot",{enumerable:true,get:function(){return _ImagesRoot.ImagesRoot}});Object.defineProperty(exports,"ImagesToolView",{enumerable:true,get:function(){return _ImagesModal.ImagesToolView}});Object.defineProperty(exports,"clearAllOverrides",{enumerable:true,get:function(){return _overrides.clearAllOverrides}});Object.defineProperty(exports,"clearOverride",{enumerable:true,get:function(){return _overrides.clearOverride}});Object.defineProperty(exports,"clearRecords",{enumerable:true,get:function(){return _imageEventStore.clearRecords}});Object.defineProperty(exports,"computeInsights",{enumerable:true,get:function(){return _insights.computeInsights}});Object.defineProperty(exports,"computeStats",{enumerable:true,get:function(){return _imageEventStore.computeStats}});Object.defineProperty(exports,"createImagesTool",{enumerable:true,get:function(){return _preset.createImagesTool}});Object.defineProperty(exports,"disableImagesCapture",{enumerable:true,get:function(){return _imageEventStore.disableImagesCapture}});Object.defineProperty(exports,"estDecodedBytes",{enumerable:true,get:function(){return _imageEventStore.estDecodedBytes}});Object.defineProperty(exports,"estWastedBytes",{enumerable:true,get:function(){return _imageEventStore.estWastedBytes}});Object.defineProperty(exports,"evictExpoDiskEntry",{enumerable:true,get:function(){return _actions.evictExpoDiskEntry}});Object.defineProperty(exports,"flashAllMounted",{enumerable:true,get:function(){return _overrides.flashAllMounted}});Object.defineProperty(exports,"flashRecord",{enumerable:true,get:function(){return _overrides.flashRecord}});Object.defineProperty(exports,"formatRecordMarkdown",{enumerable:true,get:function(){return _export.formatRecordMarkdown}});Object.defineProperty(exports,"formatRegistryMarkdown",{enumerable:true,get:function(){return _export.formatRegistryMarkdown}});Object.defineProperty(exports,"getCaptureStatus",{enumerable:true,get:function(){return _install.getCaptureStatus}});Object.defineProperty(exports,"getGlobalModes",{enumerable:true,get:function(){return _overrides.getGlobalModes}});Object.defineProperty(exports,"getImageRecords",{enumerable:true,get:function(){return _imageEventStore.getSnapshot}});Object.defineProperty(exports,"getOverride",{enumerable:true,get:function(){return _overrides.getOverride}});Object.defineProperty(exports,"hardReloadAllMounted",{enumerable:true,get:function(){return _actions.hardReloadAllMounted}});Object.defineProperty(exports,"hardReloadRecord",{enumerable:true,get:function(){return _actions.hardReloadRecord}});Object.defineProperty(exports,"imagesSyncAdapter",{enumerable:true,get:function(){return _imagesSyncAdapter.imagesSyncAdapter}});Object.defineProperty(exports,"imagesToolPreset",{enumerable:true,get:function(){return _preset.imagesToolPreset}});Object.defineProperty(exports,"insightChips",{enumerable:true,get:function(){return _insights.insightChips}});Object.defineProperty(exports,"installImageCapture",{enumerable:true,get:function(){return _install.installImageCapture}});Object.defineProperty(exports,"oversizeFactor",{enumerable:true,get:function(){return _imageEventStore.oversizeFactor}});Object.defineProperty(exports,"proveSavings",{enumerable:true,get:function(){return _savings.proveSavings}});Object.defineProperty(exports,"replaceImagesFromSnapshot",{enumerable:true,get:function(){return _imageEventStore.replaceImagesFromSnapshot}});Object.defineProperty(exports,"retryRecord",{enumerable:true,get:function(){return _actions.retryRecord}});Object.defineProperty(exports,"setBlankImages",{enumerable:true,get:function(){return _overrides.setBlankImages}});Object.defineProperty(exports,"setNetworkMode",{enumerable:true,get:function(){return _overrides.setNetworkMode}});Object.defineProperty(exports,"setOverride",{enumerable:true,get:function(){return _overrides.setOverride}});Object.defineProperty(exports,"setOverrideForAllMounted",{enumerable:true,get:function(){return _overrides.setOverrideForAllMounted}});Object.defineProperty(exports,"setRemoteImagesHandler",{enumerable:true,get:function(){return _remote.setRemoteImagesHandler}});Object.defineProperty(exports,"subscribeImageRecords",{enumerable:true,get:function(){return _imageEventStore.subscribe}});Object.defineProperty(exports,"useImageRecords",{enumerable:true,get:function(){return _useImageRecords.useImageRecords}});require("./autoCapture");var _preset=require("./preset");var _ImagesRoot=require("./components/ImagesRoot");var _ImagesModal=require("./components/ImagesModal");var _ImagesIcon=require("./components/ImagesIcon");var _install=require("./capture/install");var _actions=require("./capture/actions");var _overrides=require("./capture/overrides");var _savings=require("./capture/savings");var _insights=require("./store/insights");var _export=require("./export");var _imagesSyncAdapter=require("./sync/imagesSyncAdapter");var _imageEventStore=require("./store/imageEventStore");var _remote=require("./remote");var _useImageRecords=require("./hooks/useImageRecords");
@@ -1,39 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.imagesToolPreset = exports.createImagesTool = void 0;
7
- var _ImagesIcon = require("./components/ImagesIcon");
8
- var _ImagesModal = require("./components/ImagesModal");
9
- var _sharedUi = require("@buoy-gg/shared-ui");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- /**
12
- * Pre-configured Images tool for FloatingDevTools.
13
- *
14
- * @example
15
- * ```tsx
16
- * import { imagesToolPreset } from '@buoy-gg/images';
17
- *
18
- * <FloatingDevTools apps={[imagesToolPreset]} />
19
- * ```
20
- */
21
-
22
- const imagesToolPreset = exports.imagesToolPreset = (0, _sharedUi.defineToolPreset)({
23
- id: "images",
24
- name: "IMAGES",
25
- description: "Image loads, caching, failures, and oversize checks",
26
- slot: "both",
27
- icon: ({
28
- size,
29
- color
30
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ImagesIcon.ImagesIcon, {
31
- size: size,
32
- color: color || _ImagesIcon.IMAGES_ICON_COLOR
33
- }),
34
- component: _ImagesModal.ImagesModal
35
- });
36
-
37
- /** Create a custom Images tool configuration. */
38
- const createImagesTool = exports.createImagesTool = (0, _sharedUi.createToolFactory)(imagesToolPreset);
39
- //# sourceMappingURL=preset.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.imagesToolPreset=exports.createImagesTool=void 0;var _ImagesIcon=require("./components/ImagesIcon");var _ImagesModal=require("./components/ImagesModal");var _sharedUi=require("@buoy-gg/shared-ui");var _jsxRuntime=require("react/jsx-runtime");const imagesToolPreset=exports.imagesToolPreset=(0,_sharedUi.defineToolPreset)({id:"images",name:"IMAGES",description:"Image loads, caching, failures, and oversize checks",slot:"both",icon:({size:e,color:o})=>(0,_jsxRuntime.jsx)(_ImagesIcon.ImagesIcon,{size:e,color:o||_ImagesIcon.IMAGES_ICON_COLOR}),component:_ImagesModal.ImagesModal});const createImagesTool=exports.createImagesTool=(0,_sharedUi.createToolFactory)(imagesToolPreset);
@@ -1,19 +1 @@
1
- "use strict";
2
-
3
- var _install = require("./capture/install");
4
- /**
5
- * Side-effect entry: installs image capture on import.
6
- *
7
- * Import this FIRST in your app entry file so the RN-core <Image> decorator
8
- * lands before React Native's Image module is evaluated:
9
- *
10
- * ```ts
11
- * import "@buoy-gg/images/register";
12
- * ```
13
- *
14
- * This module intentionally imports nothing that touches react-native's Image
15
- * (directly or transitively) before installing.
16
- */
17
-
18
- (0, _install.installImageCapture)();
19
- //# sourceMappingURL=register.js.map
1
+ "use strict";var _install=require("./capture/install");(0,_install.installImageCapture)();
@@ -1,14 +1 @@
1
- "use strict";
2
-
3
- var _rnDecoratorEarly = require("./capture/rnDecoratorEarly");
4
- /**
5
- * Pre-InitializeCore entry: registers the RN <Image> decorator only.
6
- *
7
- * Use when `@buoy-gg/images/register` reports "missed the module-load race"
8
- * (development builds load <Image> inside InitializeCore via LogBox). Add it as
9
- * a Metro pre-main module ahead of InitializeCore, and keep the regular
10
- * `register` import in the entry file for the rest of the capture setup.
11
- */
12
-
13
- (0, _rnDecoratorEarly.installRnImageDecoratorEarly)();
14
- //# sourceMappingURL=registerEarly.js.map
1
+ "use strict";var _rnDecoratorEarly=require("./capture/rnDecoratorEarly");(0,_rnDecoratorEarly.installRnImageDecoratorEarly)();