@basic-genomics/hivtrace-viz 1.1.2 → 1.1.4

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.
@@ -3,6 +3,6 @@
3
3
  * 封装 iframe 和 postMessage 通信,提供简洁的 React 接口
4
4
  */
5
5
  import type { HivtraceVizProps } from './types';
6
- export declare function HivtraceViz({ data, options, isDataFetched, showLoadingOnUpdate, onTrackCluster, onFullscreenChange, onReady, onError, error, className, style, emptyState, loadingState, }: HivtraceVizProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function HivtraceViz({ data, options, isDataFetched, showLoadingOnUpdate, onTrackCluster, onFullscreenChange, onReady, onError, onRetry, error, className, style, emptyState, loadingState, }: HivtraceVizProps): import("react/jsx-runtime").JSX.Element;
7
7
  export default HivtraceViz;
8
8
  //# sourceMappingURL=HivtraceViz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HivtraceViz.d.ts","sourceRoot":"","sources":["../../src/react/HivtraceViz.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,SAAS,CAAC;AA2F3F,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,aAAa,EACb,mBAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,GACb,EAAE,gBAAgB,2CAiKlB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"HivtraceViz.d.ts","sourceRoot":"","sources":["../../src/react/HivtraceViz.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAA6C,MAAM,SAAS,CAAC;AA4F3F,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,aAAa,EACb,mBAA0B,EAC1B,cAAc,EACd,kBAAkB,EAClB,OAAO,EACP,OAAO,EACP,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,GACb,EAAE,gBAAgB,2CAsKlB;AAED,eAAe,WAAW,CAAC"}
@@ -44,7 +44,7 @@ function DefaultLoadingState({ message }) {
44
44
  animation: 'pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite',
45
45
  } }), _jsx("p", { style: { color: '#6b7280' }, children: message })] }) }));
46
46
  }
47
- export function HivtraceViz({ data, options, isDataFetched, showLoadingOnUpdate = true, onTrackCluster, onFullscreenChange, onReady, onError, error, className, style, emptyState, loadingState, }) {
47
+ export function HivtraceViz({ data, options, isDataFetched, showLoadingOnUpdate = true, onTrackCluster, onFullscreenChange, onReady, onError, onRetry, error, className, style, emptyState, loadingState, }) {
48
48
  const iframeRef = useRef(null);
49
49
  const [internalLoadingState, setInternalLoadingState] = useState('initial');
50
50
  const [isIframeReady, setIsIframeReady] = useState(false);
@@ -105,11 +105,14 @@ export function HivtraceViz({ data, options, isDataFetched, showLoadingOnUpdate
105
105
  case 'ERROR':
106
106
  onError?.(msg.message || 'Unknown error');
107
107
  break;
108
+ case 'HIVTRACE_RETRY':
109
+ onRetry?.();
110
+ break;
108
111
  }
109
112
  };
110
113
  window.addEventListener('message', handleMessage);
111
114
  return () => window.removeEventListener('message', handleMessage);
112
- }, [onTrackCluster, onFullscreenChange, onReady, onError]);
115
+ }, [onTrackCluster, onFullscreenChange, onReady, onError, onRetry]);
113
116
  // iframe 加载完成时发送初始数据或错误
114
117
  useEffect(() => {
115
118
  if (isIframeReady && internalLoadingState === 'frameReady') {
@@ -64,6 +64,8 @@ export interface HivtraceVizProps {
64
64
  onReady?: () => void;
65
65
  /** 错误回调 */
66
66
  onError?: (message: string) => void;
67
+ /** 重试回调(用户点击错误状态下的重试按钮时触发) */
68
+ onRetry?: () => void;
67
69
  /**
68
70
  * 错误信息
69
71
  * - 传入错误消息时,组件会显示错误状态而不是加载态
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB;IAChB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,WAAW;IACX,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,YAAY;IACZ,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAE9E,eAAe;IACf,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IAErD,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,WAAW;IACX,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,eAAe;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B,gBAAgB;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/react/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,gBAAgB;IAChB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW;IACX,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,WAAW;IACX,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,YAAY;IACZ,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAE9E,eAAe;IACf,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IAErD,gBAAgB;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,WAAW;IACX,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAGrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,eAAe;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B,gBAAgB;IAChB,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC"}
package/package.json CHANGED
@@ -1,8 +1,7 @@
1
1
  {
2
2
  "name": "@basic-genomics/hivtrace-viz",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "HIV-TRACE molecular transmission network visualization with React integration",
5
- "type": "module",
6
5
  "engines": {
7
6
  "node": ">=18"
8
7
  },
@@ -17,7 +16,7 @@
17
16
  "types": "./dist/react/index.d.ts"
18
17
  },
19
18
  "./vite": {
20
- "import": "./dist/vite-plugin/index.js",
19
+ "import": "./dist/vite-plugin/index.mjs",
21
20
  "types": "./dist/vite-plugin/index.d.ts"
22
21
  },
23
22
  "./embed/*": "./dist/embed/*"
@@ -86,7 +85,7 @@
86
85
  "build": "npm run build:core && npm run build:react && npm run build:vite && npm run build:embed",
87
86
  "build:core": "export NODE_OPTIONS=--openssl-legacy-provider; webpack --config webpack.config.cjs --mode=production",
88
87
  "build:react": "tsc -p tsconfig.react.json",
89
- "build:vite": "tsc -p tsconfig.vite.json",
88
+ "build:vite": "tsc -p tsconfig.vite.json && mv dist/vite-plugin/index.js dist/vite-plugin/index.mjs",
90
89
  "build:embed": "node scripts/build-embed.cjs",
91
90
  "prepublishOnly": "npm run build"
92
91
  },
File without changes