@buoy-gg/shared-ui 7.0.78 → 7.0.80

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 (175) hide show
  1. package/lib/commonjs/JsModal.js +1 -1
  2. package/lib/commonjs/bugCase/appInfo.js +1 -0
  3. package/lib/commonjs/bugCase/appInfo.web.js +1 -0
  4. package/lib/commonjs/bugCase/capture.js +1 -1
  5. package/lib/commonjs/bugCase/format.js +2 -2
  6. package/lib/commonjs/bugCase/index.js +1 -1
  7. package/lib/commonjs/bugCase/lock.js +1 -1
  8. package/lib/commonjs/bugCase/media.js +1 -0
  9. package/lib/commonjs/bugCase/recorder.js +1 -1
  10. package/lib/commonjs/bugCase/scrub.js +1 -1
  11. package/lib/commonjs/bugCase/steps.js +1 -1
  12. package/lib/commonjs/bugCase/teamKey.js +1 -0
  13. package/lib/commonjs/bugCase/validate.js +1 -0
  14. package/lib/commonjs/clipboard/autoDetectClipboard.js +1 -1
  15. package/lib/commonjs/clipboard/clipboard-impl.js +1 -1
  16. package/lib/commonjs/clipboard/clipboard-impl.web.js +1 -1
  17. package/lib/commonjs/clipboard/index.js +1 -1
  18. package/lib/commonjs/dataViewer/LiveExplorer.js +1 -1
  19. package/lib/commonjs/dataViewer/VirtualizedDataExplorer.js +1 -1
  20. package/lib/commonjs/dataViewer/flattenTree.js +1 -0
  21. package/lib/commonjs/dataViewer/liveEntries.js +1 -0
  22. package/lib/commonjs/icons/index.js +1 -1
  23. package/lib/commonjs/index.js +1 -1
  24. package/lib/commonjs/license/BuoyUpgradeSheet.js +1 -1
  25. package/lib/commonjs/license/index.js +1 -1
  26. package/lib/commonjs/sync/keyedArrays.js +1 -1
  27. package/lib/commonjs/sync/valuePath.js +1 -1
  28. package/lib/commonjs/ui/components/DynamicFilterView.js +1 -1
  29. package/lib/commonjs/ui/components/EntityFilterView.js +1 -1
  30. package/lib/commonjs/ui/components/WindowControls.js +1 -1
  31. package/lib/commonjs/ui/floating/FloatingTool.js +1 -1
  32. package/lib/commonjs/ui/listPresets.js +1 -1
  33. package/lib/commonjs/utils/fiberRootAnchor.js +1 -0
  34. package/lib/commonjs/utils/index.js +1 -1
  35. package/lib/commonjs/utils/loadOptionalModule.js +1 -1
  36. package/lib/commonjs/utils/loadToolModule.js +1 -1
  37. package/lib/commonjs/utils/minimalSuperJSON.js +1 -1
  38. package/lib/commonjs/utils/persistentStorage.js +1 -1
  39. package/lib/commonjs/utils/persistentStorage.web.js +1 -1
  40. package/lib/commonjs/utils/reloadPlatform.js +1 -1
  41. package/lib/commonjs/utils/snapshotProviderKit.js +1 -1
  42. package/lib/module/JsModal.js +1 -1
  43. package/lib/module/bugCase/appInfo.js +1 -0
  44. package/lib/module/bugCase/appInfo.web.js +1 -0
  45. package/lib/module/bugCase/capture.js +1 -1
  46. package/lib/module/bugCase/format.js +2 -2
  47. package/lib/module/bugCase/index.js +1 -1
  48. package/lib/module/bugCase/lock.js +1 -1
  49. package/lib/module/bugCase/media.js +1 -0
  50. package/lib/module/bugCase/recorder.js +1 -1
  51. package/lib/module/bugCase/scrub.js +1 -1
  52. package/lib/module/bugCase/steps.js +1 -1
  53. package/lib/module/bugCase/teamKey.js +1 -0
  54. package/lib/module/bugCase/validate.js +1 -0
  55. package/lib/module/clipboard/autoDetectClipboard.js +1 -1
  56. package/lib/module/clipboard/clipboard-impl.js +1 -1
  57. package/lib/module/clipboard/clipboard-impl.web.js +1 -1
  58. package/lib/module/clipboard/index.js +1 -1
  59. package/lib/module/dataViewer/LiveExplorer.js +1 -1
  60. package/lib/module/dataViewer/VirtualizedDataExplorer.js +1 -1
  61. package/lib/module/dataViewer/flattenTree.js +1 -0
  62. package/lib/module/dataViewer/liveEntries.js +1 -0
  63. package/lib/module/icons/index.js +1 -1
  64. package/lib/module/index.js +1 -1
  65. package/lib/module/license/BuoyUpgradeSheet.js +1 -1
  66. package/lib/module/license/index.js +1 -1
  67. package/lib/module/sync/keyedArrays.js +1 -1
  68. package/lib/module/sync/valuePath.js +1 -1
  69. package/lib/module/ui/components/DynamicFilterView.js +1 -1
  70. package/lib/module/ui/components/EntityFilterView.js +1 -1
  71. package/lib/module/ui/components/WindowControls.js +1 -1
  72. package/lib/module/ui/floating/FloatingTool.js +1 -1
  73. package/lib/module/ui/listPresets.js +1 -1
  74. package/lib/module/utils/fiberRootAnchor.js +1 -0
  75. package/lib/module/utils/index.js +1 -1
  76. package/lib/module/utils/loadOptionalModule.js +1 -1
  77. package/lib/module/utils/loadToolModule.js +1 -1
  78. package/lib/module/utils/minimalSuperJSON.js +1 -1
  79. package/lib/module/utils/persistentStorage.js +1 -1
  80. package/lib/module/utils/persistentStorage.web.js +1 -1
  81. package/lib/module/utils/reloadPlatform.js +1 -1
  82. package/lib/module/utils/snapshotProviderKit.js +1 -1
  83. package/lib/typescript/commonjs/JsModal.d.ts +3 -4
  84. package/lib/typescript/commonjs/JsModal.web.d.ts +2 -0
  85. package/lib/typescript/commonjs/bugCase/appInfo.d.ts +17 -0
  86. package/lib/typescript/commonjs/bugCase/appInfo.web.d.ts +14 -0
  87. package/lib/typescript/commonjs/bugCase/format.d.ts +2 -1
  88. package/lib/typescript/commonjs/bugCase/index.d.ts +7 -0
  89. package/lib/typescript/commonjs/bugCase/lock.d.ts +13 -0
  90. package/lib/typescript/commonjs/bugCase/media.d.ts +90 -0
  91. package/lib/typescript/commonjs/bugCase/recorder.d.ts +1 -0
  92. package/lib/typescript/commonjs/bugCase/scrub.d.ts +2 -2
  93. package/lib/typescript/commonjs/bugCase/steps.d.ts +10 -0
  94. package/lib/typescript/commonjs/bugCase/teamKey.d.ts +185 -0
  95. package/lib/typescript/commonjs/bugCase/types.d.ts +10 -0
  96. package/lib/typescript/commonjs/bugCase/validate.d.ts +14 -0
  97. package/lib/typescript/commonjs/clipboard/autoDetectClipboard.d.ts +1 -1
  98. package/lib/typescript/commonjs/clipboard/clipboard-impl.d.ts +6 -0
  99. package/lib/typescript/commonjs/clipboard/clipboard-impl.web.d.ts +2 -0
  100. package/lib/typescript/commonjs/clipboard/index.d.ts +1 -1
  101. package/lib/typescript/commonjs/dataViewer/flattenTree.d.ts +35 -0
  102. package/lib/typescript/commonjs/dataViewer/liveEntries.d.ts +19 -0
  103. package/lib/typescript/commonjs/hooks/safe-area-impl.d.ts +1 -1
  104. package/lib/typescript/commonjs/icons/index.d.ts +1 -0
  105. package/lib/typescript/commonjs/index.d.ts +3 -2
  106. package/lib/typescript/commonjs/license/BuoyUpgradeSheet.d.ts +8 -0
  107. package/lib/typescript/commonjs/license/index.d.ts +1 -1
  108. package/lib/typescript/commonjs/sync/keyedArrays.d.ts +6 -1
  109. package/lib/typescript/commonjs/ui/floating/FloatingTool.d.ts +6 -1
  110. package/lib/typescript/commonjs/ui/listPresets.d.ts +2 -2
  111. package/lib/typescript/commonjs/utils/fiberRootAnchor.d.ts +19 -0
  112. package/lib/typescript/commonjs/utils/index.d.ts +2 -1
  113. package/lib/typescript/commonjs/utils/minimalSuperJSON.d.ts +4 -2
  114. package/lib/typescript/commonjs/utils/persistentStorage.d.ts +19 -0
  115. package/lib/typescript/commonjs/utils/persistentStorage.web.d.ts +17 -0
  116. package/lib/typescript/module/JsModal.d.ts +3 -4
  117. package/lib/typescript/module/JsModal.web.d.ts +2 -0
  118. package/lib/typescript/module/bugCase/appInfo.d.ts +17 -0
  119. package/lib/typescript/module/bugCase/appInfo.web.d.ts +14 -0
  120. package/lib/typescript/module/bugCase/format.d.ts +2 -1
  121. package/lib/typescript/module/bugCase/index.d.ts +7 -0
  122. package/lib/typescript/module/bugCase/lock.d.ts +13 -0
  123. package/lib/typescript/module/bugCase/media.d.ts +90 -0
  124. package/lib/typescript/module/bugCase/recorder.d.ts +1 -0
  125. package/lib/typescript/module/bugCase/scrub.d.ts +2 -2
  126. package/lib/typescript/module/bugCase/steps.d.ts +10 -0
  127. package/lib/typescript/module/bugCase/teamKey.d.ts +185 -0
  128. package/lib/typescript/module/bugCase/types.d.ts +10 -0
  129. package/lib/typescript/module/bugCase/validate.d.ts +14 -0
  130. package/lib/typescript/module/clipboard/autoDetectClipboard.d.ts +1 -1
  131. package/lib/typescript/module/clipboard/clipboard-impl.d.ts +6 -0
  132. package/lib/typescript/module/clipboard/clipboard-impl.web.d.ts +2 -0
  133. package/lib/typescript/module/clipboard/index.d.ts +1 -1
  134. package/lib/typescript/module/dataViewer/flattenTree.d.ts +35 -0
  135. package/lib/typescript/module/dataViewer/liveEntries.d.ts +19 -0
  136. package/lib/typescript/module/hooks/safe-area-impl.d.ts +1 -1
  137. package/lib/typescript/module/icons/index.d.ts +1 -0
  138. package/lib/typescript/module/index.d.ts +3 -2
  139. package/lib/typescript/module/license/BuoyUpgradeSheet.d.ts +8 -0
  140. package/lib/typescript/module/license/index.d.ts +1 -1
  141. package/lib/typescript/module/sync/keyedArrays.d.ts +6 -1
  142. package/lib/typescript/module/ui/floating/FloatingTool.d.ts +6 -1
  143. package/lib/typescript/module/ui/listPresets.d.ts +2 -2
  144. package/lib/typescript/module/utils/fiberRootAnchor.d.ts +19 -0
  145. package/lib/typescript/module/utils/index.d.ts +2 -1
  146. package/lib/typescript/module/utils/minimalSuperJSON.d.ts +4 -2
  147. package/lib/typescript/module/utils/persistentStorage.d.ts +19 -0
  148. package/lib/typescript/module/utils/persistentStorage.web.d.ts +17 -0
  149. package/lib/web/chunks/chunk-36A4T5PL.mjs +1 -0
  150. package/lib/web/chunks/{chunk-XUYN4NOF.mjs → chunk-5UII72AQ.mjs} +1 -1
  151. package/lib/web/chunks/chunk-A3N3WVKC.mjs +1 -0
  152. package/lib/web/chunks/chunk-BPL65J3F.mjs +1 -0
  153. package/lib/web/chunks/chunk-EY7GXWGI.mjs +1 -1
  154. package/lib/web/chunks/chunk-IE2U5SN2.mjs +15 -0
  155. package/lib/web/chunks/chunk-IEAXJZCR.mjs +6 -0
  156. package/lib/web/chunks/chunk-OF3VWR6K.mjs +2 -2
  157. package/lib/web/chunks/{chunk-OVTASJUJ.mjs → chunk-SUG6TLF5.mjs} +1 -1
  158. package/lib/web/chunks/chunk-SXWOOYFL.mjs +1 -0
  159. package/lib/web/chunks/chunk-T44OT3CI.mjs +6 -0
  160. package/lib/web/chunks/{chunk-OQB3GW44.mjs → chunk-UVVRCZX5.mjs} +1 -1
  161. package/lib/web/chunks/chunk-Y7FM4WZ7.mjs +6 -0
  162. package/lib/web/chunks/persistentStorage.web-BFPYMY5C.mjs +1 -0
  163. package/lib/web/dataViewer.mjs +2 -2
  164. package/lib/web/history.mjs +1 -1
  165. package/lib/web/hooks.mjs +1 -1
  166. package/lib/web/index.mjs +12 -6
  167. package/lib/web/ui.mjs +1 -1
  168. package/lib/web/utils.mjs +1 -1
  169. package/package.json +5 -5
  170. package/scripts/detect-clipboard.js +18 -2
  171. package/lib/web/chunks/chunk-BMITMQVB.mjs +0 -6
  172. package/lib/web/chunks/chunk-DJD42EPL.mjs +0 -1
  173. package/lib/web/chunks/chunk-GN75GBYZ.mjs +0 -1
  174. package/lib/web/chunks/chunk-GTRVOJUH.mjs +0 -1
  175. package/lib/web/chunks/chunk-HE5ONCAL.mjs +0 -6
@@ -1 +1 @@
1
- "use client";import{a as Z}from"./chunk-XUYN4NOF.mjs";import{f}from"./chunk-AHVO74UQ.mjs";import{N as k,a as B,b as L,c as A}from"./chunk-QXVVA64P.mjs";import{a as c}from"./chunk-T6T3FEMU.mjs";import{createContext as _,useContext as O,useState as M,useCallback as E,useMemo as R,useEffect as ee}from"react";import{jsx as te}from"react/jsx-runtime";var $=_(null);function z({children:e,initialAdapters:t=[]}){let[a,s]=M(()=>{let r=new Map;return t.forEach(n=>{r.set(n.adapter.id,{...n,enabled:n.enabled??true})}),r}),[u,h]=M(null),[m,S]=M(0),p=E(()=>S(r=>r+1),[]);ee(()=>{let r=[];return a.forEach(n=>{if(n.enabled){let d=n.adapter.subscribe(p);r.push(d)}}),()=>{r.forEach(n=>n())}},[a,p]);let i=R(()=>Array.from(a.values()).filter(r=>r.enabled).sort((r,n)=>(r.priority??100)-(n.priority??100)).map(r=>r.adapter),[a,m]),y=E(r=>a.get(r)?.adapter,[a]),w=E(r=>{s(n=>{let d=new Map(n);return d.set(r.adapter.id,{...r,enabled:r.enabled??true}),d})},[]),l=E(r=>{s(n=>{let d=new Map(n);return d.delete(r),d})},[]),o=E(r=>{let n=[];return(u&&r?.sources===void 0?i.filter(d=>d.id===u):i).forEach(d=>{r?.sources&&!r.sources.includes(d.id)||(n=n.concat(d.getEntries()))}),r&&(n=D(n,r)),n.sort((d,Y)=>Y.timestamp-d.timestamp),n},[i,u,m]),x=E(()=>{let r={};return i.forEach(n=>{r[n.id]=n.getEntryCount()}),r},[i,m]),X=R(()=>({adapters:i,getAdapter:y,registerAdapter:w,unregisterAdapter:l,getAllEntries:o,getEntryCounts:x,selectedAdapterId:u,setSelectedAdapterId:h,refresh:p}),[i,y,w,l,o,x,u,p]);return te($.Provider,{value:X,children:e})}c(z,"HistoryProvider");function b(){let e=O($);if(!e)throw new Error("useHistoryContext must be used within a HistoryProvider");return e}c(b,"useHistoryContext");function P(){return b().adapters}c(P,"useHistoryAdapters");function j(e){return b().getAdapter(e)}c(j,"useHistoryAdapter");function F(e){let{getAllEntries:t}=b();return t(e)}c(F,"useAllHistoryEntries");function N(){return b().getEntryCounts()}c(N,"useHistoryEntryCounts");function D(e,t){return e.filter(a=>{if(t.searchText){let s=t.searchText.toLowerCase();if(!a.label.toLowerCase().includes(s))return false}if(t.onlyWithChanges&&!a.hasStateChange||t.onlyErrors&&a.status!=="error"||t.afterTimestamp&&a.timestamp<t.afterTimestamp||t.beforeTimestamp&&a.timestamp>t.beforeTimestamp)return false;if(t.ignoredPatterns?.length){for(let s of t.ignoredPatterns)if(new RegExp(s).test(a.label))return false}if(t.includedPatterns?.length){let s=false;for(let u of t.includedPatterns)if(new RegExp(u).test(a.label)){s=true;break}if(!s)return false}return true})}c(D,"applyFilter");import{jsx as I}from"react/jsx-runtime";function V(e){let t=Date.now()-e;return t<1e3?"just now":t<6e4?`${Math.floor(t/1e3)}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:`${Math.floor(t/36e5)}h ago`}c(V,"formatRelativeTime");function W(e,t){if(t?.color)return t.color;if(e.status==="error")return f.error;if(e.status==="pending")return f.warning;if(e.status==="success")return f.success;if(e.hasStateChange)return f.success;if(e.isSkipped)return f.textMuted;if(e.isInFuture)return f.textMuted+"80";switch(e.source){case"redux":return"#764ABC";case"zustand":return"#443E38";case"mmkv":return"#4CAF50";case"async-storage":return"#2196F3";case"react-query":return"#FF4154";case"jotai":return"#000000";case"legend-state":return"#7C3AED";default:return f.textSecondary}}c(W,"getStatusColor");function q(e){return e.isSkipped?"Skipped":e.isInFuture?"Future":e.status?e.status.charAt(0).toUpperCase()+e.status.slice(1):e.hasStateChange?"Changed":"Action"}c(q,"getStatusLabel");function G(e,t){return t?.name?t.name:e.category?e.category:e.source}c(G,"getSublabel");function v({entry:e,adapter:t,isSelected:a,onPress:s,showSource:u=true,showDuration:h=true}){let m=W(e,t),S=q(e),p=u?G(e,t):void 0,i=V(e.timestamp);h&&e.duration!==void 0&&(i=`${e.duration.toFixed(1)}ms \xB7 ${i}`);let y=e.hasStateChange?I(L,{style:U.changeBadge,children:I(A,{style:U.changeBadgeText,children:"\u26A1"})}):void 0;return I(Z,{statusDotColor:m,statusLabel:S,statusSublabel:p,primaryText:e.label,bottomRightText:i,customBadge:y,isSelected:a,onPress:s?()=>s(e):void 0,showChevron:!!s})}c(v,"HistoryEntryRow");var U=B.create({changeBadge:{paddingHorizontal:4},changeBadgeText:{fontSize:12}});import{useCallback as H,useMemo as T}from"react";import{jsx as g,jsxs as J}from"react/jsx-runtime";function K({filter:e,selectedEntryId:t,onSelectEntry:a,showSource:s=true,emptyMessage:u="No history entries yet",ListHeaderComponent:h,ListFooterComponent:m}){let S=F(e),p=P(),i=T(()=>{let o=new Map;return p.forEach(x=>o.set(x.id,x)),o},[p]),y=H(o=>`${o.source}-${o.id}`,[]),w=H(({item:o})=>{let x=i.get(o.source);return g(v,{entry:o,adapter:x,isSelected:t===o.id,onPress:a,showSource:s})},[i,t,a,s]),l=T(()=>J(L,{style:C.emptyContainer,children:[g(A,{style:C.emptyText,children:u}),g(A,{style:C.emptySubtext,children:"Actions will appear here as they happen"})]}),[u]);return g(k,{keyboardShouldPersistTaps:"handled",data:S,keyExtractor:y,renderItem:w,ListEmptyComponent:l,ListHeaderComponent:h,ListFooterComponent:m,contentContainerStyle:C.listContent,showsVerticalScrollIndicator:false,removeClippedSubviews:true,maxToRenderPerBatch:15,windowSize:10,initialNumToRender:15,getItemLayout:void 0})}c(K,"HistoryList");function Q({entries:e,adapters:t=[],selectedEntryId:a,onSelectEntry:s,showSource:u=true,emptyMessage:h="No history entries yet",ListHeaderComponent:m,ListFooterComponent:S}){let p=T(()=>{let l=new Map;return t.forEach(o=>l.set(o.id,o)),l},[t]),i=H(l=>`${l.source}-${l.id}`,[]),y=H(({item:l})=>{let o=p.get(l.source);return g(v,{entry:l,adapter:o,isSelected:a===l.id,onPress:s,showSource:u})},[p,a,s,u]),w=T(()=>J(L,{style:C.emptyContainer,children:[g(A,{style:C.emptyText,children:h}),g(A,{style:C.emptySubtext,children:"Actions will appear here as they happen"})]}),[h]);return g(k,{keyboardShouldPersistTaps:"handled",data:e,keyExtractor:i,renderItem:y,ListEmptyComponent:w,ListHeaderComponent:m,ListFooterComponent:S,contentContainerStyle:C.listContent,showsVerticalScrollIndicator:false,removeClippedSubviews:true,maxToRenderPerBatch:15,windowSize:10,initialNumToRender:15})}c(Q,"StandaloneHistoryList");var C=B.create({listContent:{flexGrow:1,paddingVertical:4},emptyContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:60,paddingHorizontal:20},emptyText:{fontSize:16,fontWeight:"600",color:f.text,marginBottom:8},emptySubtext:{fontSize:13,color:f.textMuted,textAlign:"center"}});export{z as a,b,P as c,j as d,F as e,N as f,v as g,K as h,Q as i};
1
+ "use client";import{a as Z}from"./chunk-5UII72AQ.mjs";import{f}from"./chunk-AHVO74UQ.mjs";import{N as k,a as B,b as L,c as A}from"./chunk-QXVVA64P.mjs";import{a as c}from"./chunk-T6T3FEMU.mjs";import{createContext as _,useContext as O,useState as M,useCallback as E,useMemo as R,useEffect as ee}from"react";import{jsx as te}from"react/jsx-runtime";var $=_(null);function z({children:e,initialAdapters:t=[]}){let[a,s]=M(()=>{let r=new Map;return t.forEach(n=>{r.set(n.adapter.id,{...n,enabled:n.enabled??true})}),r}),[u,h]=M(null),[m,S]=M(0),p=E(()=>S(r=>r+1),[]);ee(()=>{let r=[];return a.forEach(n=>{if(n.enabled){let d=n.adapter.subscribe(p);r.push(d)}}),()=>{r.forEach(n=>n())}},[a,p]);let i=R(()=>Array.from(a.values()).filter(r=>r.enabled).sort((r,n)=>(r.priority??100)-(n.priority??100)).map(r=>r.adapter),[a,m]),y=E(r=>a.get(r)?.adapter,[a]),w=E(r=>{s(n=>{let d=new Map(n);return d.set(r.adapter.id,{...r,enabled:r.enabled??true}),d})},[]),l=E(r=>{s(n=>{let d=new Map(n);return d.delete(r),d})},[]),o=E(r=>{let n=[];return(u&&r?.sources===void 0?i.filter(d=>d.id===u):i).forEach(d=>{r?.sources&&!r.sources.includes(d.id)||(n=n.concat(d.getEntries()))}),r&&(n=D(n,r)),n.sort((d,Y)=>Y.timestamp-d.timestamp),n},[i,u,m]),x=E(()=>{let r={};return i.forEach(n=>{r[n.id]=n.getEntryCount()}),r},[i,m]),X=R(()=>({adapters:i,getAdapter:y,registerAdapter:w,unregisterAdapter:l,getAllEntries:o,getEntryCounts:x,selectedAdapterId:u,setSelectedAdapterId:h,refresh:p}),[i,y,w,l,o,x,u,p]);return te($.Provider,{value:X,children:e})}c(z,"HistoryProvider");function b(){let e=O($);if(!e)throw new Error("useHistoryContext must be used within a HistoryProvider");return e}c(b,"useHistoryContext");function P(){return b().adapters}c(P,"useHistoryAdapters");function j(e){return b().getAdapter(e)}c(j,"useHistoryAdapter");function F(e){let{getAllEntries:t}=b();return t(e)}c(F,"useAllHistoryEntries");function N(){return b().getEntryCounts()}c(N,"useHistoryEntryCounts");function D(e,t){return e.filter(a=>{if(t.searchText){let s=t.searchText.toLowerCase();if(!a.label.toLowerCase().includes(s))return false}if(t.onlyWithChanges&&!a.hasStateChange||t.onlyErrors&&a.status!=="error"||t.afterTimestamp&&a.timestamp<t.afterTimestamp||t.beforeTimestamp&&a.timestamp>t.beforeTimestamp)return false;if(t.ignoredPatterns?.length){for(let s of t.ignoredPatterns)if(new RegExp(s).test(a.label))return false}if(t.includedPatterns?.length){let s=false;for(let u of t.includedPatterns)if(new RegExp(u).test(a.label)){s=true;break}if(!s)return false}return true})}c(D,"applyFilter");import{jsx as I}from"react/jsx-runtime";function V(e){let t=Date.now()-e;return t<1e3?"just now":t<6e4?`${Math.floor(t/1e3)}s ago`:t<36e5?`${Math.floor(t/6e4)}m ago`:`${Math.floor(t/36e5)}h ago`}c(V,"formatRelativeTime");function W(e,t){if(t?.color)return t.color;if(e.status==="error")return f.error;if(e.status==="pending")return f.warning;if(e.status==="success")return f.success;if(e.hasStateChange)return f.success;if(e.isSkipped)return f.textMuted;if(e.isInFuture)return f.textMuted+"80";switch(e.source){case"redux":return"#764ABC";case"zustand":return"#443E38";case"mmkv":return"#4CAF50";case"async-storage":return"#2196F3";case"react-query":return"#FF4154";case"jotai":return"#000000";case"legend-state":return"#7C3AED";default:return f.textSecondary}}c(W,"getStatusColor");function q(e){return e.isSkipped?"Skipped":e.isInFuture?"Future":e.status?e.status.charAt(0).toUpperCase()+e.status.slice(1):e.hasStateChange?"Changed":"Action"}c(q,"getStatusLabel");function G(e,t){return t?.name?t.name:e.category?e.category:e.source}c(G,"getSublabel");function v({entry:e,adapter:t,isSelected:a,onPress:s,showSource:u=true,showDuration:h=true}){let m=W(e,t),S=q(e),p=u?G(e,t):void 0,i=V(e.timestamp);h&&e.duration!==void 0&&(i=`${e.duration.toFixed(1)}ms \xB7 ${i}`);let y=e.hasStateChange?I(L,{style:U.changeBadge,children:I(A,{style:U.changeBadgeText,children:"\u26A1"})}):void 0;return I(Z,{statusDotColor:m,statusLabel:S,statusSublabel:p,primaryText:e.label,bottomRightText:i,customBadge:y,isSelected:a,onPress:s?()=>s(e):void 0,showChevron:!!s})}c(v,"HistoryEntryRow");var U=B.create({changeBadge:{paddingHorizontal:4},changeBadgeText:{fontSize:12}});import{useCallback as H,useMemo as T}from"react";import{jsx as g,jsxs as J}from"react/jsx-runtime";function K({filter:e,selectedEntryId:t,onSelectEntry:a,showSource:s=true,emptyMessage:u="No history entries yet",ListHeaderComponent:h,ListFooterComponent:m}){let S=F(e),p=P(),i=T(()=>{let o=new Map;return p.forEach(x=>o.set(x.id,x)),o},[p]),y=H(o=>`${o.source}-${o.id}`,[]),w=H(({item:o})=>{let x=i.get(o.source);return g(v,{entry:o,adapter:x,isSelected:t===o.id,onPress:a,showSource:s})},[i,t,a,s]),l=T(()=>J(L,{style:C.emptyContainer,children:[g(A,{style:C.emptyText,children:u}),g(A,{style:C.emptySubtext,children:"Actions will appear here as they happen"})]}),[u]);return g(k,{keyboardShouldPersistTaps:"handled",data:S,keyExtractor:y,renderItem:w,ListEmptyComponent:l,ListHeaderComponent:h,ListFooterComponent:m,contentContainerStyle:C.listContent,showsVerticalScrollIndicator:false,removeClippedSubviews:true,maxToRenderPerBatch:15,windowSize:10,initialNumToRender:15,getItemLayout:void 0})}c(K,"HistoryList");function Q({entries:e,adapters:t=[],selectedEntryId:a,onSelectEntry:s,showSource:u=true,emptyMessage:h="No history entries yet",ListHeaderComponent:m,ListFooterComponent:S}){let p=T(()=>{let l=new Map;return t.forEach(o=>l.set(o.id,o)),l},[t]),i=H(l=>`${l.source}-${l.id}`,[]),y=H(({item:l})=>{let o=p.get(l.source);return g(v,{entry:l,adapter:o,isSelected:a===l.id,onPress:s,showSource:u})},[p,a,s,u]),w=T(()=>J(L,{style:C.emptyContainer,children:[g(A,{style:C.emptyText,children:h}),g(A,{style:C.emptySubtext,children:"Actions will appear here as they happen"})]}),[h]);return g(k,{keyboardShouldPersistTaps:"handled",data:e,keyExtractor:i,renderItem:y,ListEmptyComponent:w,ListHeaderComponent:m,ListFooterComponent:S,contentContainerStyle:C.listContent,showsVerticalScrollIndicator:false,removeClippedSubviews:true,maxToRenderPerBatch:15,windowSize:10,initialNumToRender:15})}c(Q,"StandaloneHistoryList");var C=B.create({listContent:{flexGrow:1,paddingVertical:4},emptyContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:60,paddingHorizontal:20},emptyText:{fontSize:16,fontWeight:"600",color:f.text,marginBottom:8},emptySubtext:{fontSize:13,color:f.textMuted,textAlign:"center"}});export{z as a,b,P as c,j as d,F as e,N as f,v as g,K as h,Q as i};