@buoy-gg/assets 7.0.36 → 7.0.39

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 (127) hide show
  1. package/README.md +41 -12
  2. package/lib/commonjs/capture/expo.js +1 -1
  3. package/lib/commonjs/capture/expo.js.map +1 -1
  4. package/lib/commonjs/capture/install.js +13 -0
  5. package/lib/commonjs/capture/install.js.map +1 -1
  6. package/lib/commonjs/capture/isBuoyAsset.js +23 -0
  7. package/lib/commonjs/capture/isBuoyAsset.js.map +1 -0
  8. package/lib/commonjs/capture/metroGraph.js +36 -9
  9. package/lib/commonjs/capture/metroGraph.js.map +1 -1
  10. package/lib/commonjs/capture/registry.js.map +1 -1
  11. package/lib/commonjs/components/AssetDetail.js +8 -11
  12. package/lib/commonjs/components/AssetDetail.js.map +1 -1
  13. package/lib/commonjs/components/AssetImage.js +66 -0
  14. package/lib/commonjs/components/AssetImage.js.map +1 -0
  15. package/lib/commonjs/components/AssetRow.js +5 -6
  16. package/lib/commonjs/components/AssetRow.js.map +1 -1
  17. package/lib/commonjs/components/AssetsFilterBar.js +10 -1
  18. package/lib/commonjs/components/AssetsFilterBar.js.map +1 -1
  19. package/lib/commonjs/components/AssetsHeader.js +4 -3
  20. package/lib/commonjs/components/AssetsHeader.js.map +1 -1
  21. package/lib/commonjs/components/AssetsListControls.js +3 -18
  22. package/lib/commonjs/components/AssetsListControls.js.map +1 -1
  23. package/lib/commonjs/components/AssetsModal.js +69 -38
  24. package/lib/commonjs/components/AssetsModal.js.map +1 -1
  25. package/lib/commonjs/components/ScanNotice.js +85 -0
  26. package/lib/commonjs/components/ScanNotice.js.map +1 -0
  27. package/lib/commonjs/components/optionalExpoImage.js +16 -0
  28. package/lib/commonjs/components/optionalExpoImage.js.map +1 -0
  29. package/lib/commonjs/components/optionalExpoImage.web.js +11 -0
  30. package/lib/commonjs/components/optionalExpoImage.web.js.map +1 -0
  31. package/lib/commonjs/export.js +3 -3
  32. package/lib/commonjs/export.js.map +1 -1
  33. package/lib/commonjs/hooks/useAssetScanStatus.js +28 -0
  34. package/lib/commonjs/hooks/useAssetScanStatus.js.map +1 -0
  35. package/lib/commonjs/remote.js +5 -2
  36. package/lib/commonjs/remote.js.map +1 -1
  37. package/lib/commonjs/state.js.map +1 -1
  38. package/lib/commonjs/store/assetStore.js +15 -0
  39. package/lib/commonjs/store/assetStore.js.map +1 -1
  40. package/lib/commonjs/store/baseline.js +2 -0
  41. package/lib/commonjs/store/baseline.js.map +1 -1
  42. package/lib/commonjs/utils/testIDs.js +2 -6
  43. package/lib/commonjs/utils/testIDs.js.map +1 -1
  44. package/lib/module/capture/expo.js +1 -1
  45. package/lib/module/capture/expo.js.map +1 -1
  46. package/lib/module/capture/install.js +14 -1
  47. package/lib/module/capture/install.js.map +1 -1
  48. package/lib/module/capture/isBuoyAsset.js +18 -0
  49. package/lib/module/capture/isBuoyAsset.js.map +1 -0
  50. package/lib/module/capture/metroGraph.js +36 -9
  51. package/lib/module/capture/metroGraph.js.map +1 -1
  52. package/lib/module/capture/registry.js.map +1 -1
  53. package/lib/module/components/AssetDetail.js +9 -12
  54. package/lib/module/components/AssetDetail.js.map +1 -1
  55. package/lib/module/components/AssetImage.js +62 -0
  56. package/lib/module/components/AssetImage.js.map +1 -0
  57. package/lib/module/components/AssetRow.js +6 -7
  58. package/lib/module/components/AssetRow.js.map +1 -1
  59. package/lib/module/components/AssetsFilterBar.js +10 -1
  60. package/lib/module/components/AssetsFilterBar.js.map +1 -1
  61. package/lib/module/components/AssetsHeader.js +4 -3
  62. package/lib/module/components/AssetsHeader.js.map +1 -1
  63. package/lib/module/components/AssetsListControls.js +3 -18
  64. package/lib/module/components/AssetsListControls.js.map +1 -1
  65. package/lib/module/components/AssetsModal.js +71 -40
  66. package/lib/module/components/AssetsModal.js.map +1 -1
  67. package/lib/module/components/ScanNotice.js +81 -0
  68. package/lib/module/components/ScanNotice.js.map +1 -0
  69. package/lib/module/components/optionalExpoImage.js +12 -0
  70. package/lib/module/components/optionalExpoImage.js.map +1 -0
  71. package/lib/module/components/optionalExpoImage.web.js +7 -0
  72. package/lib/module/components/optionalExpoImage.web.js.map +1 -0
  73. package/lib/module/export.js +3 -3
  74. package/lib/module/export.js.map +1 -1
  75. package/lib/module/hooks/useAssetScanStatus.js +23 -0
  76. package/lib/module/hooks/useAssetScanStatus.js.map +1 -0
  77. package/lib/module/remote.js +5 -2
  78. package/lib/module/remote.js.map +1 -1
  79. package/lib/module/state.js.map +1 -1
  80. package/lib/module/store/assetStore.js +14 -0
  81. package/lib/module/store/assetStore.js.map +1 -1
  82. package/lib/module/store/baseline.js +2 -0
  83. package/lib/module/store/baseline.js.map +1 -1
  84. package/lib/module/utils/testIDs.js +2 -6
  85. package/lib/module/utils/testIDs.js.map +1 -1
  86. package/lib/typescript/capture/install.d.ts.map +1 -1
  87. package/lib/typescript/capture/isBuoyAsset.d.ts +9 -0
  88. package/lib/typescript/capture/isBuoyAsset.d.ts.map +1 -0
  89. package/lib/typescript/capture/metroGraph.d.ts.map +1 -1
  90. package/lib/typescript/capture/registry.d.ts +1 -1
  91. package/lib/typescript/capture/registry.d.ts.map +1 -1
  92. package/lib/typescript/components/AssetDetail.d.ts +2 -2
  93. package/lib/typescript/components/AssetDetail.d.ts.map +1 -1
  94. package/lib/typescript/components/AssetImage.d.ts +9 -0
  95. package/lib/typescript/components/AssetImage.d.ts.map +1 -0
  96. package/lib/typescript/components/AssetRow.d.ts.map +1 -1
  97. package/lib/typescript/components/AssetsFilterBar.d.ts +3 -2
  98. package/lib/typescript/components/AssetsFilterBar.d.ts.map +1 -1
  99. package/lib/typescript/components/AssetsHeader.d.ts +2 -1
  100. package/lib/typescript/components/AssetsHeader.d.ts.map +1 -1
  101. package/lib/typescript/components/AssetsListControls.d.ts +2 -9
  102. package/lib/typescript/components/AssetsListControls.d.ts.map +1 -1
  103. package/lib/typescript/components/AssetsModal.d.ts.map +1 -1
  104. package/lib/typescript/components/ScanNotice.d.ts +7 -0
  105. package/lib/typescript/components/ScanNotice.d.ts.map +1 -0
  106. package/lib/typescript/components/optionalExpoImage.d.ts +13 -0
  107. package/lib/typescript/components/optionalExpoImage.d.ts.map +1 -0
  108. package/lib/typescript/components/optionalExpoImage.web.d.ts +3 -0
  109. package/lib/typescript/components/optionalExpoImage.web.d.ts.map +1 -0
  110. package/lib/typescript/hooks/useAssetScanStatus.d.ts +6 -0
  111. package/lib/typescript/hooks/useAssetScanStatus.d.ts.map +1 -0
  112. package/lib/typescript/state.d.ts +2 -0
  113. package/lib/typescript/state.d.ts.map +1 -1
  114. package/lib/typescript/store/assetStore.d.ts +3 -1
  115. package/lib/typescript/store/assetStore.d.ts.map +1 -1
  116. package/lib/typescript/store/baseline.d.ts.map +1 -1
  117. package/lib/typescript/types.d.ts +3 -0
  118. package/lib/typescript/types.d.ts.map +1 -1
  119. package/lib/typescript/utils/testIDs.d.ts +2 -5
  120. package/lib/typescript/utils/testIDs.d.ts.map +1 -1
  121. package/package.json +7 -3
  122. package/lib/commonjs/components/BaselineBar.js +0 -115
  123. package/lib/commonjs/components/BaselineBar.js.map +0 -1
  124. package/lib/module/components/BaselineBar.js +0 -111
  125. package/lib/module/components/BaselineBar.js.map +0 -1
  126. package/lib/typescript/components/BaselineBar.d.ts +0 -13
  127. package/lib/typescript/components/BaselineBar.d.ts.map +0 -1
@@ -18,6 +18,7 @@ import { persistentStorage } from "@buoy-gg/shared-ui";
18
18
  import { remoteAssetsDispatch } from "../remote";
19
19
  import { assetsState } from "../state";
20
20
  import { getSnapshot, invalidate } from "./assetStore";
21
+ import { isBuoyAssetPath } from "../capture/isBuoyAsset";
21
22
  const STORAGE_KEY = "@react_buoy/assets/baseline";
22
23
 
23
24
  /** ≥1 KB counts as growth; below that is codec/metadata noise. */
@@ -120,6 +121,7 @@ export function computeDiff(records, baseline) {
120
121
  }
121
122
  const removed = [];
122
123
  for (const [key, entry] of Object.entries(baseline.entries)) {
124
+ if (isBuoyAssetPath(key)) continue;
123
125
  if (!seen.has(key)) {
124
126
  removed.push({
125
127
  key,
@@ -1 +1 @@
1
- {"version":3,"names":["persistentStorage","remoteAssetsDispatch","assetsState","getSnapshot","invalidate","STORAGE_KEY","GROWN_THRESHOLD_BYTES","loadBaseline","s","baselineLoaded","baseline","raw","getItem","parsed","JSON","parse","savedAt","entries","saveBaseline","remote","Date","now","r","key","hash","sizeBytes","sizeSource","name","type","setItem","stringify","clearBaseline","removeItem","computeDiff","records","added","grown","seen","Set","currentBytes","baselineBytes","comparable","add","then","push","id","deltaBytes","removed","entry","Object","has","find","rec","baselineSavedAt","sort","a","b","netBytes","getDiff","mirrorDiff"],"sourceRoot":"../../../src","sources":["store/baseline.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["persistentStorage","remoteAssetsDispatch","assetsState","getSnapshot","invalidate","isBuoyAssetPath","STORAGE_KEY","GROWN_THRESHOLD_BYTES","loadBaseline","s","baselineLoaded","baseline","raw","getItem","parsed","JSON","parse","savedAt","entries","saveBaseline","remote","Date","now","r","key","hash","sizeBytes","sizeSource","name","type","setItem","stringify","clearBaseline","removeItem","computeDiff","records","added","grown","seen","Set","currentBytes","baselineBytes","comparable","add","then","push","id","deltaBytes","removed","entry","Object","has","find","rec","baselineSavedAt","sort","a","b","netBytes","getDiff","mirrorDiff"],"sourceRoot":"../../../src","sources":["store/baseline.ts"],"mappings":"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","ignoreList":[]}
@@ -74,20 +74,16 @@ export const ASSETS_TEST_IDS = {
74
74
  list: "buoy-assets-list",
75
75
  search: "buoy-assets-search",
76
76
  sort: "buoy-assets-sort",
77
- saveBaseline: "buoy-assets-save-baseline",
78
77
  filterBar: "buoy-assets-filter-bar",
79
78
  notice: "buoy-assets-notice",
80
79
  noticeText: "buoy-assets-notice-text",
80
+ discoverySpinner: "buoy-assets-discovery-spinner",
81
+ retry: "buoy-assets-retry",
81
82
  fonts: "buoy-assets-fonts",
82
83
  fontsTitle: "buoy-assets-fonts-title",
83
84
  empty: "buoy-assets-empty",
84
85
  emptyTitle: "buoy-assets-empty-title",
85
86
  emptyText: "buoy-assets-empty-text",
86
- // baseline bar
87
- baseline: "buoy-assets-baseline",
88
- baselineSummary: "buoy-assets-baseline-summary",
89
- baselineUpdate: "buoy-assets-baseline-update",
90
- baselineClear: "buoy-assets-baseline-clear",
91
87
  // detail
92
88
  detail: "buoy-assets-detail",
93
89
  detailScroll: "buoy-assets-detail-scroll",
@@ -1 +1 @@
1
- {"version":3,"names":["assetSlug","value","String","toLowerCase","replace","assetRowTestID","name","type","assetBadgeTestID","label","assetFilterTestID","filter","assetDetailRowTestID","assetFontChipTestID","family","ASSETS_TEST_IDS","title","copy","clear","list","search","sort","saveBaseline","filterBar","notice","noticeText","fonts","fontsTitle","empty","emptyTitle","emptyText","baseline","baselineSummary","baselineUpdate","baselineClear","detail","detailScroll","detailPreview","detailFontPreview","detailFindings","assetFindingTestID","index"],"sourceRoot":"../../../src","sources":["utils/testIDs.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAACC,KAAsB,EAAU;EACxD,OACEC,MAAM,CAACD,KAAK,CAAC,CACVE,WAAW,CAAC,CAAC,CACbC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAC3BA,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,IAAY,EAAEC,IAAY,EAAU;EACjE,OAAO,mBAAmBP,SAAS,CAAC,GAAGM,IAAI,IAAIC,IAAI,EAAE,CAAC,EAAE;AAC1D;;AAEA;AACA,OAAO,SAASC,gBAAgBA,CAC9BF,IAAY,EACZC,IAAY,EACZE,KAAa,EACL;EACR,OAAO,GAAGJ,cAAc,CAACC,IAAI,EAAEC,IAAI,CAAC,UAAUP,SAAS,CAACS,KAAK,CAAC,EAAE;AAClE;;AAEA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAc,EAAU;EACxD,OAAO,sBAAsBX,SAAS,CAACW,MAAM,CAAC,EAAE;AAClD;;AAEA;AACA,OAAO,SAASC,oBAAoBA,CAACH,KAAa,EAAU;EAC1D,OAAO,0BAA0BT,SAAS,CAACS,KAAK,CAAC,EAAE;AACrD;;AAEA;AACA,OAAO,SAASI,mBAAmBA,CAACC,MAAc,EAAU;EAC1D,OAAO,oBAAoBd,SAAS,CAACc,MAAM,CAAC,EAAE;AAChD;;AAEA;AACA,OAAO,MAAMC,eAAe,GAAG;EAC7B;EACAC,KAAK,EAAE,mBAAmB;EAC1BC,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE,mBAAmB;EAC1B;EACAC,IAAI,EAAE,kBAAkB;EACxBC,MAAM,EAAE,oBAAoB;EAC5BC,IAAI,EAAE,kBAAkB;EACxBC,YAAY,EAAE,2BAA2B;EACzCC,SAAS,EAAE,wBAAwB;EACnCC,MAAM,EAAE,oBAAoB;EAC5BC,UAAU,EAAE,yBAAyB;EACrCC,KAAK,EAAE,mBAAmB;EAC1BC,UAAU,EAAE,yBAAyB;EACrCC,KAAK,EAAE,mBAAmB;EAC1BC,UAAU,EAAE,yBAAyB;EACrCC,SAAS,EAAE,wBAAwB;EACnC;EACAC,QAAQ,EAAE,sBAAsB;EAChCC,eAAe,EAAE,8BAA8B;EAC/CC,cAAc,EAAE,6BAA6B;EAC7CC,aAAa,EAAE,4BAA4B;EAC3C;EACAC,MAAM,EAAE,oBAAoB;EAC5BC,YAAY,EAAE,2BAA2B;EACzCC,aAAa,EAAE,4BAA4B;EAC3CC,iBAAiB,EAAE,iCAAiC;EACpDC,cAAc,EAAE;AAClB,CAAU;;AAEV;AACA,OAAO,SAASC,kBAAkBA,CAACC,KAAa,EAAU;EACxD,OAAO,8BAA8BA,KAAK,EAAE;AAC9C","ignoreList":[]}
1
+ {"version":3,"names":["assetSlug","value","String","toLowerCase","replace","assetRowTestID","name","type","assetBadgeTestID","label","assetFilterTestID","filter","assetDetailRowTestID","assetFontChipTestID","family","ASSETS_TEST_IDS","title","copy","clear","list","search","sort","filterBar","notice","noticeText","discoverySpinner","retry","fonts","fontsTitle","empty","emptyTitle","emptyText","detail","detailScroll","detailPreview","detailFontPreview","detailFindings","assetFindingTestID","index"],"sourceRoot":"../../../src","sources":["utils/testIDs.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAACC,KAAsB,EAAU;EACxD,OACEC,MAAM,CAACD,KAAK,CAAC,CACVE,WAAW,CAAC,CAAC,CACbC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAC3BA,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,SAAS;AAE3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAACC,IAAY,EAAEC,IAAY,EAAU;EACjE,OAAO,mBAAmBP,SAAS,CAAC,GAAGM,IAAI,IAAIC,IAAI,EAAE,CAAC,EAAE;AAC1D;;AAEA;AACA,OAAO,SAASC,gBAAgBA,CAC9BF,IAAY,EACZC,IAAY,EACZE,KAAa,EACL;EACR,OAAO,GAAGJ,cAAc,CAACC,IAAI,EAAEC,IAAI,CAAC,UAAUP,SAAS,CAACS,KAAK,CAAC,EAAE;AAClE;;AAEA;AACA,OAAO,SAASC,iBAAiBA,CAACC,MAAc,EAAU;EACxD,OAAO,sBAAsBX,SAAS,CAACW,MAAM,CAAC,EAAE;AAClD;;AAEA;AACA,OAAO,SAASC,oBAAoBA,CAACH,KAAa,EAAU;EAC1D,OAAO,0BAA0BT,SAAS,CAACS,KAAK,CAAC,EAAE;AACrD;;AAEA;AACA,OAAO,SAASI,mBAAmBA,CAACC,MAAc,EAAU;EAC1D,OAAO,oBAAoBd,SAAS,CAACc,MAAM,CAAC,EAAE;AAChD;;AAEA;AACA,OAAO,MAAMC,eAAe,GAAG;EAC7B;EACAC,KAAK,EAAE,mBAAmB;EAC1BC,IAAI,EAAE,kBAAkB;EACxBC,KAAK,EAAE,mBAAmB;EAC1B;EACAC,IAAI,EAAE,kBAAkB;EACxBC,MAAM,EAAE,oBAAoB;EAC5BC,IAAI,EAAE,kBAAkB;EACxBC,SAAS,EAAE,wBAAwB;EACnCC,MAAM,EAAE,oBAAoB;EAC5BC,UAAU,EAAE,yBAAyB;EACrCC,gBAAgB,EAAE,+BAA+B;EACjDC,KAAK,EAAE,mBAAmB;EAC1BC,KAAK,EAAE,mBAAmB;EAC1BC,UAAU,EAAE,yBAAyB;EACrCC,KAAK,EAAE,mBAAmB;EAC1BC,UAAU,EAAE,yBAAyB;EACrCC,SAAS,EAAE,wBAAwB;EACnC;EACAC,MAAM,EAAE,oBAAoB;EAC5BC,YAAY,EAAE,2BAA2B;EACzCC,aAAa,EAAE,4BAA4B;EAC3CC,iBAAiB,EAAE,iCAAiC;EACpDC,cAAc,EAAE;AAClB,CAAU;;AAEV;AACA,OAAO,SAASC,kBAAkBA,CAACC,KAAa,EAAU;EACxD,OAAO,8BAA8BA,KAAK,EAAE;AAC9C","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/capture/install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AASD;;;GAGG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAWxD;AAED,wBAAgB,aAAa,IAAI,gBAAgB,CAmBhD"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/capture/install.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,wBAAgB,mBAAmB,IAAI,IAAI,CAU1C;AASD;;;GAGG;AACH,wBAAsB,MAAM,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAUxD;AAeD,wBAAgB,aAAa,IAAI,gBAAgB,CAqBhD"}
@@ -0,0 +1,9 @@
1
+ /** Identify Buoy-owned resources by package location, never by asset name. */
2
+ export declare function isBuoyAssetPath(value: string | undefined): boolean;
3
+ export declare function isBuoyAsset(asset: {
4
+ key: string;
5
+ httpServerLocation?: string;
6
+ fileSystemLocation?: string;
7
+ files?: string[];
8
+ }): boolean;
9
+ //# sourceMappingURL=isBuoyAsset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isBuoyAsset.d.ts","sourceRoot":"","sources":["../../../src/capture/isBuoyAsset.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAYlE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,GAAG,OAAO,CAGV"}
@@ -1 +1 @@
1
- {"version":3,"file":"metroGraph.d.ts","sourceRoot":"","sources":["../../../src/capture/metroGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAU5C;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAIlD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAkBhD;AAED,kFAAkF;AAClF,wBAAsB,eAAe,IAAI,OAAO,CAC9C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAC7D,CAiEA"}
1
+ {"version":3,"file":"metroGraph.d.ts","sourceRoot":"","sources":["../../../src/capture/metroGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4CH,wBAAgB,YAAY,IAAI,MAAM,GAAG,IAAI,CAU5C;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAIlD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAkBhD;AAED,kFAAkF;AAClF,wBAAsB,eAAe,IAAI,OAAO,CAC9C;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAC7D,CAqEA"}
@@ -33,7 +33,7 @@ export declare function resolveRegistryAsset(registryId: number): {
33
33
  uri: string;
34
34
  scale: number;
35
35
  } | null;
36
- export declare function upsertFromPackagerAsset(registryId: number, asset: PackagerAsset): AssetRecord;
36
+ export declare function upsertFromPackagerAsset(registryId: number, asset: PackagerAsset): AssetRecord | undefined;
37
37
  /** Enumerate every asset registered so far. Returns the highest id seen. */
38
38
  export declare function walkRegistry(): number;
39
39
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/capture/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,cAAc;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;CAC9D;AAID,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAmBzD;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWvC;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,WAAW,CAiBb;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,IAAI,MAAM,CAWrC;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqB5C"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/capture/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,cAAc;IACtB,aAAa,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAChD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;CAC9D;AAID,wBAAgB,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAmBzD;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWvC;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,WAAW,GAAG,SAAS,CAiBzB;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,IAAI,MAAM,CAWrC;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqB5C"}
@@ -2,8 +2,8 @@
2
2
  * AssetDetail — full metadata for one asset: preview, identity, dimensions,
3
3
  * per-scale sizes, resolution info, and which audit findings apply.
4
4
  *
5
- * Image previews render through the numeric registry id (works in every
6
- * environment); fonts render a pangram with fontFamily set to the asset name
5
+ * Image previews use registry ids or asset URLs, with optional expo-image for
6
+ * native SVGs; fonts render a pangram with fontFamily set to the asset name
7
7
  * — a best-effort guess (family ≠ filename for many fonts) that falls back
8
8
  * to the system font silently when it misses.
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AssetDetail.d.ts","sourceRoot":"","sources":["../../../src/components/AssetDetail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE5D,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAyCD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAoGjE"}
1
+ {"version":3,"file":"AssetDetail.d.ts","sourceRoot":"","sources":["../../../src/components/AssetDetail.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE5D,UAAU,gBAAgB;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAsCD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAoGjE"}
@@ -0,0 +1,9 @@
1
+ import type { ImageStyle, StyleProp } from "react-native";
2
+ import type { AssetRecord } from "../types";
3
+ export declare function AssetImage({ record, style, testID, compact }: {
4
+ record: AssetRecord;
5
+ style?: StyleProp<ImageStyle>;
6
+ testID: string;
7
+ compact?: boolean;
8
+ }): import("react").JSX.Element;
9
+ //# sourceMappingURL=AssetImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetImage.d.ts","sourceRoot":"","sources":["../../../src/components/AssetImage.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAe,EAAE,EAAE;IACrE,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,+BAuBA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetRow.d.ts","sourceRoot":"","sources":["../../../src/components/AssetRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAkBD,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,aAAa,+BA+F/E"}
1
+ {"version":3,"file":"AssetRow.d.ts","sourceRoot":"","sources":["../../../src/components/AssetRow.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,yEAAyE;AACzE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAkBD,wBAAgB,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,aAAa,+BA8F/E"}
@@ -5,12 +5,13 @@
5
5
  * images tool documents).
6
6
  */
7
7
  import type { AssetKind, AssetsStats } from "../types";
8
- export type AssetFilter = "all" | "unused" | AssetKind;
8
+ export type AssetFilter = "all" | "unused" | "duplicates" | AssetKind;
9
9
  interface AssetsFilterBarProps {
10
10
  stats: AssetsStats;
11
+ duplicateCount: number;
11
12
  filter: AssetFilter;
12
13
  onChange: (filter: AssetFilter) => void;
13
14
  }
14
- export declare function AssetsFilterBar({ stats, filter, onChange }: AssetsFilterBarProps): import("react").JSX.Element | null;
15
+ export declare function AssetsFilterBar({ stats, duplicateCount, filter, onChange }: AssetsFilterBarProps): import("react").JSX.Element | null;
15
16
  export {};
16
17
  //# sourceMappingURL=AssetsFilterBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsFilterBar.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsFilterBar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvD,UAAU,oBAAoB;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,sCAwDhF"}
1
+ {"version":3,"file":"AssetsFilterBar.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsFilterBar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAEtE,UAAU,oBAAoB;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,oBAAoB,sCA2DhG"}
@@ -9,6 +9,7 @@ interface AssetsHeaderProps {
9
9
  stats: AssetsStats;
10
10
  /** Size measurement in progress — suppress the (partial) byte total. */
11
11
  measuring: boolean;
12
+ discovering?: boolean;
12
13
  detailOpen: boolean;
13
14
  detailIndex?: number;
14
15
  detailTotal?: number;
@@ -17,6 +18,6 @@ interface AssetsHeaderProps {
17
18
  getReport: () => string;
18
19
  onBack?: () => void;
19
20
  }
20
- export declare function AssetsHeader({ stats, measuring, detailOpen, detailIndex, detailTotal, onCloseDetail, onClear, getReport, onBack, }: AssetsHeaderProps): import("react").JSX.Element;
21
+ export declare function AssetsHeader({ stats, measuring, discovering, detailOpen, detailIndex, detailTotal, onCloseDetail, onClear, getReport, onBack, }: AssetsHeaderProps): import("react").JSX.Element;
21
22
  export {};
22
23
  //# sourceMappingURL=AssetsHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsHeader.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsHeader.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,iBAAiB;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAS,EACT,UAAU,EACV,WAAgB,EAChB,WAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAM,GACP,EAAE,iBAAiB,+BA4CnB"}
1
+ {"version":3,"file":"AssetsHeader.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsHeader.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,UAAU,iBAAiB;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,SAAS,EACT,WAAmB,EACnB,UAAU,EACV,WAAgB,EAChB,WAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAM,GACP,EAAE,iBAAiB,+BA4CnB"}
@@ -1,18 +1,11 @@
1
- /**
2
- * AssetsListControls — one compact row: name search, sort cycle (SIZE →
3
- * NAME → TYPE), and — when no baseline exists yet — the BASE button that
4
- * saves one. Once a baseline exists the BaselineBar takes over the diff UI,
5
- * so this row never wastes space on a hint sentence.
6
- */
1
+ /** Asset list search and sort controls. */
7
2
  export type AssetSort = "size" | "name" | "type";
8
3
  interface AssetsListControlsProps {
9
4
  query: string;
10
5
  onQueryChange: (query: string) => void;
11
6
  sort: AssetSort;
12
7
  onSortChange: (sort: AssetSort) => void;
13
- /** Show the save-baseline button (no baseline saved yet). */
14
- showBaselineButton: boolean;
15
8
  }
16
- export declare function AssetsListControls({ query, onQueryChange, sort, onSortChange, showBaselineButton, }: AssetsListControlsProps): import("react").JSX.Element;
9
+ export declare function AssetsListControls({ query, onQueryChange, sort, onSortChange, }: AssetsListControlsProps): import("react").JSX.Element;
17
10
  export {};
18
11
  //# sourceMappingURL=AssetsListControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsListControls.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsListControls.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQjD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,6DAA6D;IAC7D,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,kBAAkB,GACnB,EAAE,uBAAuB,+BAiCzB"}
1
+ {"version":3,"file":"AssetsListControls.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsListControls.tsx"],"names":[],"mappings":"AAAA,2CAA2C;AAM3C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAQjD,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CACzC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,GACb,EAAE,uBAAuB,+BAwBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetsModal.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgBrD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2ED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,EACd,MAAc,GACf,EAAE,gBAAgB,+BAwKlB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,GAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,+BAGrE"}
1
+ {"version":3,"file":"AssetsModal.d.ts","sourceRoot":"","sources":["../../../src/components/AssetsModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAiBrD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gFAAgF;IAChF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAmDD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,OAAO,EACP,MAAM,EACN,UAAU,EACV,cAAc,EACd,MAAc,GACf,EAAE,gBAAgB,+BA0MlB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,KAAK,GAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAM,+BAGrE"}
@@ -0,0 +1,7 @@
1
+ import type { AssetsScanStatus } from "../types";
2
+ export declare function ScanNotice({ status, total, onRetry }: {
3
+ status: AssetsScanStatus;
4
+ total: number;
5
+ onRetry: () => void;
6
+ }): import("react").JSX.Element | null;
7
+ //# sourceMappingURL=ScanNotice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScanNotice.d.ts","sourceRoot":"","sources":["../../../src/components/ScanNotice.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACrD,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,sCAoDA"}
@@ -0,0 +1,13 @@
1
+ import type { ComponentType } from "react";
2
+ import type { ImageStyle, StyleProp } from "react-native";
3
+ export interface ExpoPreviewProps {
4
+ source: number | {
5
+ uri: string;
6
+ };
7
+ style?: StyleProp<ImageStyle>;
8
+ testID: string;
9
+ contentFit: "contain";
10
+ onError: () => void;
11
+ }
12
+ export declare function getExpoPreviewImage(): ComponentType<ExpoPreviewProps> | null;
13
+ //# sourceMappingURL=optionalExpoImage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionalExpoImage.d.ts","sourceRoot":"","sources":["../../../src/components/optionalExpoImage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AASD,wBAAgB,mBAAmB,IAAI,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAE5E"}
@@ -0,0 +1,3 @@
1
+ /** Browser image elements already support SVG. */
2
+ export declare function getExpoPreviewImage(): null;
3
+ //# sourceMappingURL=optionalExpoImage.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optionalExpoImage.web.d.ts","sourceRoot":"","sources":["../../../src/components/optionalExpoImage.web.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -0,0 +1,6 @@
1
+ import type { AssetsScanStatus } from "../types";
2
+ /** Each store notification replaces the records snapshot, including status-only updates. */
3
+ export declare function getAssetScanSnapshot(): AssetsScanStatus;
4
+ /** Keep scan status reactive in apps that use React Compiler. */
5
+ export declare function useAssetScanStatus(): AssetsScanStatus;
6
+ //# sourceMappingURL=useAssetScanStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAssetScanStatus.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAssetScanStatus.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAK9D,4FAA4F;AAC5F,wBAAgB,oBAAoB,IAAI,gBAAgB,CAOvD;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,IAAI,gBAAgB,CAErD"}
@@ -22,6 +22,8 @@ export interface AssetsGlobalState {
22
22
  graphCount: number | null;
23
23
  graphError: string | null;
24
24
  graphFetchInFlight: boolean;
25
+ graphFetchStartedAt?: number | null;
26
+ scanPromise?: Promise<AssetsScanStatus>;
25
27
  lastScanAt: number | null;
26
28
  measuring: boolean;
27
29
  measuredCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAEhC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IAEvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IAExB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EACV,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GACxE,IAAI,CAAC;IACT,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2DAA2D;IAC3D,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAID,wBAAgB,WAAW,IAAI,iBAAiB,CAiC/C"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEzF,MAAM,WAAW,iBAAiB;IAEhC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IAEvB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IAExB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EACV,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GACxE,IAAI,CAAC;IACT,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,yEAAyE;IACzE,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,2DAA2D;IAC3D,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAID,wBAAgB,WAAW,IAAI,iBAAiB,CAiC/C"}
@@ -34,7 +34,7 @@ export interface AssetUpsert {
34
34
  fileHashes?: string[];
35
35
  }
36
36
  /** Merge an asset sighting into the store; creates the record on first sight. */
37
- export declare function upsertRecord(input: AssetUpsert): AssetRecord;
37
+ export declare function upsertRecord(input: AssetUpsert): AssetRecord | undefined;
38
38
  /** Mutate a record in place (records are owned by the store) and notify. */
39
39
  export declare function updateRecord(id: number, patch: Partial<AssetRecord>): AssetRecord | undefined;
40
40
  export declare function getRecord(id: number): AssetRecord | undefined;
@@ -42,6 +42,8 @@ export declare function getRecordByKey(key: string): AssetRecord | undefined;
42
42
  export declare function getSnapshot(): AssetRecord[];
43
43
  export declare function subscribe(listener: () => void): () => void;
44
44
  export declare function clearRecords(): void;
45
+ /** Remove records captured before the exclusion was installed through Fast Refresh. */
46
+ export declare function removeBuoyRecords(): void;
45
47
  /**
46
48
  * Estimated decoded-bitmap memory (RGBA8888) at the scale this device would
47
49
  * pick — the size fallback when bytes can't be measured (release builds).
@@ -1 +1 @@
1
- {"version":3,"file":"assetStore.d.ts","sourceRoot":"","sources":["../../../src/store/assetStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAYpE,mFAAmF;AACnF,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAeD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAgB,QAAQ,CACtB,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAWR;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,CAoC5D;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAC1B,WAAW,GAAG,SAAS,CAOzB;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEnE;AAED,wBAAgB,WAAW,IAAI,WAAW,EAAE,CAE3C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAI1D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAQnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAK3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,CA8B7D"}
1
+ {"version":3,"file":"assetStore.d.ts","sourceRoot":"","sources":["../../../src/store/assetStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAYpE,mFAAmF;AACnF,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAeD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEnD;AAED,wBAAgB,QAAQ,CACtB,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAWR;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAqCxE;AAED,4EAA4E;AAC5E,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAC1B,WAAW,GAAG,SAAS,CAOzB;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEnE;AAED,wBAAgB,WAAW,IAAI,WAAW,EAAE,CAE3C;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAI1D;AAED,wBAAgB,YAAY,IAAI,IAAI,CAQnC;AAED,uFAAuF;AACvF,wBAAgB,iBAAiB,IAAI,IAAI,CASxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAK3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,WAAW,CA8B7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../src/store/baseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAOxE,4EAA4E;AAC5E,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiBnE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CA0B5D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAenD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,EAAE,cAAc,GACvB,UAAU,CA0DZ;AAED,gFAAgF;AAChF,wBAAgB,OAAO,IAAI,UAAU,GAAG,IAAI,CAK3C"}
1
+ {"version":3,"file":"baseline.d.ts","sourceRoot":"","sources":["../../../src/store/baseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAOxE,4EAA4E;AAC5E,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAiBnE;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CA0B5D;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAenD;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,EAAE,cAAc,GACvB,UAAU,CA2DZ;AAED,gFAAgF;AAChF,wBAAgB,OAAO,IAAI,UAAU,GAAG,IAAI,CAK3C"}
@@ -60,6 +60,9 @@ export interface AssetsScanStatus {
60
60
  /** Assets in the full Metro graph; null until fetched. */
61
61
  graphCount: number | null;
62
62
  graphError: string | null;
63
+ /** Optional for snapshots from older devices. */
64
+ graphFetchInFlight?: boolean;
65
+ graphFetchStartedAt?: number | null;
63
66
  lastScanAt: number | null;
64
67
  measuring: boolean;
65
68
  measuredCount: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -51,19 +51,16 @@ export declare const ASSETS_TEST_IDS: {
51
51
  readonly list: "buoy-assets-list";
52
52
  readonly search: "buoy-assets-search";
53
53
  readonly sort: "buoy-assets-sort";
54
- readonly saveBaseline: "buoy-assets-save-baseline";
55
54
  readonly filterBar: "buoy-assets-filter-bar";
56
55
  readonly notice: "buoy-assets-notice";
57
56
  readonly noticeText: "buoy-assets-notice-text";
57
+ readonly discoverySpinner: "buoy-assets-discovery-spinner";
58
+ readonly retry: "buoy-assets-retry";
58
59
  readonly fonts: "buoy-assets-fonts";
59
60
  readonly fontsTitle: "buoy-assets-fonts-title";
60
61
  readonly empty: "buoy-assets-empty";
61
62
  readonly emptyTitle: "buoy-assets-empty-title";
62
63
  readonly emptyText: "buoy-assets-empty-text";
63
- readonly baseline: "buoy-assets-baseline";
64
- readonly baselineSummary: "buoy-assets-baseline-summary";
65
- readonly baselineUpdate: "buoy-assets-baseline-update";
66
- readonly baselineClear: "buoy-assets-baseline-clear";
67
64
  readonly detail: "buoy-assets-detail";
68
65
  readonly detailScroll: "buoy-assets-detail-scroll";
69
66
  readonly detailPreview: "buoy-assets-detail-preview";
@@ -1 +1 @@
1
- {"version":3,"file":"testIDs.d.ts","sourceRoot":"","sources":["../../../src/utils/testIDs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAC;AAEX,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"testIDs.d.ts","sourceRoot":"","sources":["../../../src/utils/testIDs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,MAAM,CAER;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,mEAAmE;AACnE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC;AAEX,4DAA4D;AAC5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@buoy-gg/assets",
3
- "version": "7.0.36",
4
- "description": "See every asset shipped in your React Native app — bundled images, fonts, video and audio with dimensions, scale variants, byte sizes, duplicate detection and WebP-savings audit. Part of Buoy devtools.",
3
+ "version": "7.0.39",
4
+ "description": "Inspect assets reported by a manifest and runtime hooks, including available sizes, scale variants, duplicates and baseline changes.",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
7
7
  "types": "lib/typescript/index.d.ts",
@@ -14,14 +14,18 @@
14
14
  "**/index.*"
15
15
  ],
16
16
  "dependencies": {
17
- "@buoy-gg/shared-ui": "^7.0.36"
17
+ "@buoy-gg/shared-ui": "^7.0.39"
18
18
  },
19
19
  "peerDependencies": {
20
20
  "expo-asset": "*",
21
+ "expo-image": "*",
21
22
  "react": "*",
22
23
  "react-native": "*"
23
24
  },
24
25
  "peerDependenciesMeta": {
26
+ "expo-image": {
27
+ "optional": true
28
+ },
25
29
  "expo-asset": {
26
30
  "optional": true
27
31
  }
@@ -1,115 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.BaselineBar = BaselineBar;
7
- var _reactNative = require("react-native");
8
- var _sharedUi = require("@buoy-gg/shared-ui");
9
- var _format = require("../format");
10
- var _baseline = require("../store/baseline");
11
- var _testIDs = require("../utils/testIDs");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- /**
14
- * BaselineBar — save/compare-against-baseline controls.
15
- *
16
- * No baseline: one "SAVE BASELINE" button. With a baseline: the diff summary
17
- * ("+3 new · 1 removed · +1.2 MB since 2h ago") plus UPDATE and ✕ (clear).
18
- * Growth renders in warning color, shrinkage in success — that's the whole
19
- * point of the feature.
20
- */
21
-
22
- function formatAge(savedAt) {
23
- const minutes = Math.max(1, Math.round((Date.now() - savedAt) / 60000));
24
- if (minutes < 60) return `${minutes}m ago`;
25
- const hours = Math.round(minutes / 60);
26
- if (hours < 48) return `${hours}h ago`;
27
- return `${Math.round(hours / 24)}d ago`;
28
- }
29
- function BaselineBar({
30
- diff
31
- }) {
32
- // No baseline → no bar; the BASE button in AssetsListControls creates one.
33
- if (!diff) return null;
34
- const parts = [];
35
- if (diff.added.length) parts.push(`+${diff.added.length} new`);
36
- if (diff.removed.length) parts.push(`${diff.removed.length} removed`);
37
- if (diff.grown.length) parts.push(`${diff.grown.length} grew`);
38
- const net = diff.netBytes != null && Math.abs(diff.netBytes) >= 1024 ? `${diff.netBytes > 0 ? "+" : "−"}${(0, _format.formatBytes)(Math.abs(diff.netBytes))}` : null;
39
- const changed = parts.length > 0 || net != null;
40
- const netColor = diff.netBytes != null && diff.netBytes > 0 ? _sharedUi.macOSColors.semantic.warning : _sharedUi.macOSColors.semantic.success;
41
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
42
- style: styles.bar,
43
- testID: _testIDs.ASSETS_TEST_IDS.baseline,
44
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
45
- style: styles.summary,
46
- numberOfLines: 1,
47
- testID: _testIDs.ASSETS_TEST_IDS.baselineSummary,
48
- children: [changed ? parts.join(" · ") : "No changes", net ? " · " : "", net ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
49
- style: {
50
- color: netColor
51
- },
52
- children: net
53
- }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
54
- style: styles.age,
55
- children: [" vs ", formatAge(diff.baselineSavedAt)]
56
- })]
57
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
58
- style: styles.button,
59
- testID: _testIDs.ASSETS_TEST_IDS.baselineUpdate,
60
- onPress: () => void (0, _baseline.saveBaseline)(),
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
62
- style: styles.buttonText,
63
- children: "UPDATE"
64
- })
65
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
66
- style: styles.button,
67
- testID: _testIDs.ASSETS_TEST_IDS.baselineClear,
68
- onPress: () => void (0, _baseline.clearBaseline)(),
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
70
- style: styles.buttonText,
71
- children: "\u2715"
72
- })
73
- })]
74
- });
75
- }
76
- const styles = _reactNative.StyleSheet.create({
77
- bar: {
78
- flexDirection: "row",
79
- alignItems: "center",
80
- gap: 8,
81
- marginHorizontal: 10,
82
- marginBottom: 8,
83
- paddingHorizontal: 10,
84
- paddingVertical: 6,
85
- borderWidth: 1,
86
- borderColor: _sharedUi.night.color.border,
87
- borderRadius: 8,
88
- backgroundColor: _sharedUi.night.color.surface
89
- },
90
- summary: {
91
- flex: 1,
92
- color: _sharedUi.night.color.textSecondary,
93
- fontSize: 10,
94
- fontWeight: "600"
95
- },
96
- age: {
97
- color: _sharedUi.night.color.textTertiary,
98
- fontWeight: "400"
99
- },
100
- button: {
101
- backgroundColor: _sharedUi.night.color.surfaceElevated,
102
- borderWidth: 1,
103
- borderColor: _sharedUi.night.color.border,
104
- borderRadius: 6,
105
- paddingHorizontal: 8,
106
- paddingVertical: 5
107
- },
108
- buttonText: {
109
- color: _sharedUi.night.color.textSecondary,
110
- fontSize: 9,
111
- fontWeight: "700",
112
- letterSpacing: 0.5
113
- }
114
- });
115
- //# sourceMappingURL=BaselineBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_sharedUi","_format","_baseline","_testIDs","_jsxRuntime","formatAge","savedAt","minutes","Math","max","round","Date","now","hours","BaselineBar","diff","parts","added","length","push","removed","grown","net","netBytes","abs","formatBytes","changed","netColor","macOSColors","semantic","warning","success","jsxs","View","style","styles","bar","testID","ASSETS_TEST_IDS","baseline","children","Text","summary","numberOfLines","baselineSummary","join","jsx","color","age","baselineSavedAt","TouchableOpacity","button","baselineUpdate","onPress","saveBaseline","buttonText","baselineClear","clearBaseline","StyleSheet","create","flexDirection","alignItems","gap","marginHorizontal","marginBottom","paddingHorizontal","paddingVertical","borderWidth","borderColor","night","border","borderRadius","backgroundColor","surface","flex","textSecondary","fontSize","fontWeight","textTertiary","surfaceElevated","letterSpacing"],"sourceRoot":"../../../src","sources":["components/BaselineBar.tsx"],"mappings":"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","ignoreList":[]}