@nuwatop/code-canvas-core 0.3.9 → 0.4.0

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 (39) hide show
  1. package/dist/components/AndPdfViewer/index.d.ts +19 -0
  2. package/dist/components/AndPdfViewer/index.d.ts.map +1 -0
  3. package/dist/components/AndPdfViewer/pdfViewerCommand.d.ts +7 -0
  4. package/dist/components/AndPdfViewer/pdfViewerCommand.d.ts.map +1 -0
  5. package/dist/components/AndTable/hooks/useAutoScrollY.d.ts +6 -0
  6. package/dist/components/AndTable/hooks/useAutoScrollY.d.ts.map +1 -0
  7. package/dist/components/AndTable/types.d.ts +117 -0
  8. package/dist/components/AndTable/types.d.ts.map +1 -0
  9. package/dist/components/UploadFile/src/useUpload.d.ts +8 -0
  10. package/dist/components/UploadFile/src/useUpload.d.ts.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.esm.js +3162 -2889
  14. package/dist/index.esm.js.map +1 -1
  15. package/dist/index.js +5 -5
  16. package/dist/index.js.map +1 -1
  17. package/dist/utils/ReactFormatter.d.ts +49 -0
  18. package/dist/utils/ReactFormatter.d.ts.map +1 -0
  19. package/dist/utils/auth.d.ts +3 -0
  20. package/dist/utils/auth.d.ts.map +1 -0
  21. package/dist/utils/base.d.ts +6 -0
  22. package/dist/utils/base.d.ts.map +1 -0
  23. package/dist/utils/dict.d.ts +3 -0
  24. package/dist/utils/dict.d.ts.map +1 -0
  25. package/dist/utils/formatter.d.ts +49 -0
  26. package/dist/utils/formatter.d.ts.map +1 -0
  27. package/dist/utils/index.d.ts +7 -0
  28. package/dist/utils/index.d.ts.map +1 -0
  29. package/dist/utils/is.d.ts +6 -0
  30. package/dist/utils/is.d.ts.map +1 -0
  31. package/dist/utils/pdfWorker.d.ts +3 -0
  32. package/dist/utils/pdfWorker.d.ts.map +1 -0
  33. package/dist/utils/request.d.ts +6 -0
  34. package/dist/utils/request.d.ts.map +1 -0
  35. package/dist/utils/resolveTokenColor.d.ts +24 -0
  36. package/dist/utils/resolveTokenColor.d.ts.map +1 -0
  37. package/dist/utils/runCommonUtils.d.ts +66 -0
  38. package/dist/utils/runCommonUtils.d.ts.map +1 -0
  39. package/package.json +13 -8
@@ -0,0 +1,49 @@
1
+ /**
2
+ * React 版本的格式化工具
3
+ * 无 Vue 依赖,纯函数实现
4
+ */
5
+ export interface FormatOptions {
6
+ [key: string]: any;
7
+ currency?: string;
8
+ precision?: number;
9
+ notation?: "compact" | "scientific" | "engineering";
10
+ pattern?: string;
11
+ binary?: boolean;
12
+ country?: string;
13
+ mask?: boolean;
14
+ separator?: string;
15
+ maxLength?: number;
16
+ suffix?: string;
17
+ statusMap?: Record<string, string>;
18
+ delimiter?: string;
19
+ }
20
+ export type FormatType = "currency" | "number" | "percent" | "compact" | "scientific" | "ordinal" | "chineseNumber" | "timestamp" | "date" | "dateCustom" | "relativeTime" | "duration" | "age" | "fileSize" | "networkSpeed" | "phone" | "phoneMask" | "landline" | "emailMask" | "idCard" | "bankCard" | "ipAddress" | "macAddress" | "truncate" | "capitalize" | "titleCase" | "kebabCase" | "camelCase" | "snakeToCamel" | "camelToSnake" | "stripHtml" | "usernameMask" | "status" | "gender" | "url" | "color" | "array";
21
+ export declare const formatCurrency: (value: any, currency?: string, options?: FormatOptions) => string;
22
+ export declare const formatNumber: (value: any, options?: FormatOptions) => string;
23
+ export declare const formatPercent: (value: any, precision?: number) => string;
24
+ export declare const formatCompact: (value: any, notation?: "compact" | "scientific" | "engineering") => string;
25
+ export declare const formatDate: (value: any, options?: FormatOptions) => string;
26
+ export declare const formatDateCustom: (value: any, pattern?: string) => string;
27
+ export declare const formatTimestamp: (value: any, pattern?: string) => string;
28
+ export declare const formatRelativeTime: (value: any) => string;
29
+ export declare const formatDuration: (seconds: any) => string;
30
+ export declare const formatAge: (birthDate: any) => string;
31
+ export declare const formatFileSize: (bytes: any, precision?: number, binary?: boolean) => string;
32
+ export declare const formatPhone: (phone: any, country?: string) => string;
33
+ export declare const formatPhoneMask: (phone: any) => string;
34
+ export declare const formatEmailMask: (email: any) => string;
35
+ export declare const formatIdCard: (idCard: any, mask?: boolean) => string;
36
+ export declare const formatBankCard: (cardNumber: any, mask?: boolean) => string;
37
+ export declare const formatUsernameMask: (username: any) => string;
38
+ export declare const formatTruncate: (text: any, maxLength?: number, suffix?: string) => string;
39
+ export declare const formatCapitalize: (text: any) => string;
40
+ export declare const formatArray: (value: any, delimiter?: string) => string;
41
+ export declare const formatGender: (value: any) => string;
42
+ export declare const formatStatus: (value: any, statusMap?: Record<string, string>) => string;
43
+ export declare const formatStripHtml: (value: any) => string;
44
+ /**
45
+ * 根据类型格式化值
46
+ */
47
+ export declare function formatByType(value: any, formatType: FormatType | string, options?: FormatOptions): string;
48
+ export default formatByType;
49
+ //# sourceMappingURL=ReactFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactFormatter.d.ts","sourceRoot":"","sources":["../../src/utils/ReactFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function setGetAccessToken(fn: () => string): void;
2
+ export declare function getAccessToken(): string;
3
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/utils/auth.ts"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,MAAM,QAEjD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAKvC"}
@@ -0,0 +1,6 @@
1
+ export declare function appendHTMLToFirstElementByClass(element: HTMLElement, html: string, css: string, options?: {
2
+ preserveExistingContent?: boolean;
3
+ executeScript?: boolean;
4
+ }): void;
5
+ export declare function getContent(moduleName: string, key: string): Promise<any>;
6
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/utils/base.ts"],"names":[],"mappings":"AAEA,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACR,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA,IAAI,CAgBN;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAGxE"}
@@ -0,0 +1,3 @@
1
+ export declare function setGetDictOptions(fn: (dictType: string) => Promise<any[]>): void;
2
+ export declare function getDictOptions(dictType: string): Promise<any[]>;
3
+ //# sourceMappingURL=dict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../../src/utils/dict.ts"],"names":[],"mappings":"AAKA,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,QAEzE;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAKrE"}
@@ -0,0 +1,49 @@
1
+ import { FormatOptions } from './ReactFormatter';
2
+
3
+ export type { FormatOptions };
4
+ export declare function useFormatterByType(value: any, formatType: string, formatOptions?: FormatOptions): {
5
+ value: any;
6
+ };
7
+ type ValueRef = {
8
+ value: string;
9
+ };
10
+ export declare function useCompleteFormatters(locale?: string, enableLogging?: boolean): {
11
+ formatCurrency: (amount: unknown, currency?: unknown, options?: any) => ValueRef;
12
+ formatNumber: (number: unknown, options?: any) => ValueRef;
13
+ formatPercent: (decimal: unknown, precision?: unknown) => ValueRef;
14
+ formatCompact: (number: unknown, notation?: unknown) => ValueRef;
15
+ formatScientific: (number: unknown, precision?: unknown) => ValueRef;
16
+ formatOrdinal: (number: unknown) => ValueRef;
17
+ formatChineseNumber: (number: unknown) => ValueRef;
18
+ formatTimestamp: (timestamp: unknown, pattern?: unknown) => ValueRef;
19
+ formatDate: (date: unknown, options?: any) => ValueRef;
20
+ formatDateCustom: (date: unknown, pattern: unknown) => ValueRef;
21
+ formatRelativeTime: (date: unknown) => ValueRef;
22
+ formatDuration: (seconds: unknown) => ValueRef;
23
+ formatAge: (birthDate: unknown) => ValueRef;
24
+ formatFileSize: (bytes: unknown, precision?: unknown, binary?: unknown) => ValueRef;
25
+ formatNetworkSpeed: (bytesPerSecond: unknown) => ValueRef;
26
+ formatPhone: (phone: unknown, country?: unknown) => ValueRef;
27
+ formatLandline: (phone: unknown) => ValueRef;
28
+ formatEmailMask: (email: unknown) => ValueRef;
29
+ formatIdCard: (idCard: unknown, mask?: unknown) => ValueRef;
30
+ formatBankCard: (cardNumber: unknown, mask?: unknown) => ValueRef;
31
+ formatIPAddress: (ip: unknown) => ValueRef;
32
+ formatMacAddress: (mac: unknown, separator?: unknown) => ValueRef;
33
+ formatTruncate: (text: unknown, maxLength?: unknown, suffix?: unknown) => ValueRef;
34
+ formatCapitalize: (text: unknown) => ValueRef;
35
+ formatTitleCase: (text: unknown) => ValueRef;
36
+ formatKebabCase: (text: unknown) => ValueRef;
37
+ formatCamelCase: (text: unknown) => ValueRef;
38
+ formatSnakeToCamel: (text: unknown) => ValueRef;
39
+ formatCamelToSnake: (text: unknown) => ValueRef;
40
+ formatStripHtml: (html: unknown) => ValueRef;
41
+ formatHighlight: (text: unknown, keyword: unknown, className?: unknown) => ValueRef;
42
+ formatUsernameMask: (username: unknown) => ValueRef;
43
+ formatStatus: (status: unknown, statusMap?: any) => ValueRef;
44
+ formatGender: (gender: unknown) => ValueRef;
45
+ formatUrl: (url: unknown, maxLength?: unknown) => ValueRef;
46
+ formatColor: (color: unknown, format?: unknown) => ValueRef;
47
+ formatArray: (array: unknown, delimiter?: unknown) => ValueRef;
48
+ };
49
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/utils/formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAWlE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,GAAG,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,GAAE,aAAkB;;EAQlC;AAED,KAAK,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAMlC,wBAAgB,qBAAqB,CAAC,MAAM,SAAU,EAAE,aAAa,UAAO;6BA+D1C,OAAO,aAAY,OAAO,YAAmB,GAAG;2BAUlD,OAAO,YAAW,GAAG;6BAgBnB,OAAO,cAAa,OAAO;4BAU5B,OAAO,aAAY,OAAO;+BAUvB,OAAO,cAAa,OAAO;4BAiB9B,OAAO;kCAiBD,OAAO;iCAgCR,OAAO,YAAW,OAAO;uBAUnC,OAAO,YAAW,GAAG;6BAUf,OAAO,WAAW,OAAO;+BAUvB,OAAO;8BAUR,OAAO;2BAUV,OAAO;4BAUN,OAAO,cAAa,OAAO,WAAc,OAAO;yCAUnC,OAAO;yBAWvB,OAAO,YAAW,OAAO;4BAUtB,OAAO;6BAqBN,OAAO;2BAUT,OAAO,SAAQ,OAAO;iCAUhB,OAAO,SAAQ,OAAO;0BAU7B,OAAO;4BAqBL,OAAO,cAAa,OAAO;2BAkBlD,OAAO,cACF,OAAO,WACV,OAAO;6BAWe,OAAO;4BAUR,OAAO;4BAgBP,OAAO;4BAYP,OAAO;+BAcJ,OAAO;+BAcP,OAAO;4BAgBV,OAAO;4BAW9B,OAAO,WACJ,OAAO,cACL,OAAO;mCAsBkB,OAAO;2BAUf,OAAO,cAAa,GAAG;2BAUvB,OAAO;qBAUb,OAAO,cAAa,OAAO;yBA0BvB,OAAO,WAAU,OAAO;yBAoBxB,OAAO,cAAa,OAAO;EAiDxD"}
@@ -0,0 +1,7 @@
1
+ export * from './runCommonUtils';
2
+ export * from './formatter';
3
+ export * from './request';
4
+ export * from './auth';
5
+ export * from './dict';
6
+ export * from './is';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 工具函数
3
+ */
4
+ export declare function isArray(value: any): boolean;
5
+ export declare function isEmpty(value: any): boolean;
6
+ //# sourceMappingURL=is.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is.d.ts","sourceRoot":"","sources":["../../src/utils/is.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE3C;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAM3C"}
@@ -0,0 +1,3 @@
1
+ export declare function setPdfjsWorkerSrc(src: string): void;
2
+ export declare function ensurePdfjsWorker(fallbackSrc?: string): void;
3
+ //# sourceMappingURL=pdfWorker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfWorker.d.ts","sourceRoot":"","sources":["../../src/utils/pdfWorker.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,QAI5C;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,QAOrD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 请求工具 - 使用 core 配置的请求处理器
3
+ */
4
+ export declare const request: (config: any) => Promise<any>;
5
+ export default request;
6
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/utils/request.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,OAAO,WAAkB,GAAG,iBAMxC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * resolveTokenColor - 解析 Antd Design Token 颜色
3
+ * 支持输入 token 名称(如 colorPrimary)或直接颜色值(如 #1890ff)
4
+ */
5
+ export declare const AVAILABLE_TOKENS: string[];
6
+ export declare const COMMON_TOKENS: {
7
+ label: string;
8
+ value: string;
9
+ }[];
10
+ /**
11
+ * 判断是否为 token 名称
12
+ */
13
+ export declare function isTokenName(value: string): boolean;
14
+ /**
15
+ * 使用 Antd theme hook 解析 token 颜色
16
+ * 注意:这是一个 React Hook,必须在组件内部使用
17
+ */
18
+ export declare function useResolveTokenColor(color: string | undefined): string | undefined;
19
+ /**
20
+ * 非 Hook 版本:需要传入 token 对象
21
+ */
22
+ export declare function resolveTokenColorWithToken(color: string | undefined, token: Record<string, any>): string | undefined;
23
+ export default useResolveTokenColor;
24
+ //# sourceMappingURL=resolveTokenColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveTokenColor.d.ts","sourceRoot":"","sources":["../../src/utils/resolveTokenColor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4CH,eAAO,MAAM,gBAAgB,UAAyB,CAAC;AAGvD,eAAO,MAAM,aAAa;;;GASzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,GAAG,SAAS,CAapB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,GAAG,SAAS,CAWpB;AAED,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,66 @@
1
+ export declare function filterDateFromTimeStamp(timestamp: number): string;
2
+ export declare function validateFailed(validateResult: any): boolean;
3
+ export declare function isNonEmptyArray(obj: any): any;
4
+ export declare function deleteStoreArrayItemByDataSet(dataSet: string, store: any): void;
5
+ export declare function addCommand(sessionId: string, store: any, command: any): void;
6
+ export declare const appointmentTimeOptions: {
7
+ value: string;
8
+ label: string;
9
+ children: Array<{
10
+ value: string;
11
+ label: string;
12
+ }>;
13
+ }[];
14
+ /**
15
+ * 通用的活动ID监听方法(基于 Zustand useAndStore 订阅,无 Vue 依赖)
16
+ * @returns 取消订阅函数,可在组件卸载或页面销毁时调用
17
+ */
18
+ export declare function watchActiveId(store: any, sessionId: string, todoActiveIdKey: string, doneActiveIdKey: string, defaultShowKey: string): () => void;
19
+ /**
20
+ * 通用的单活动ID监听方法(基于 Zustand 订阅)
21
+ * @returns 取消订阅函数
22
+ */
23
+ export declare function watchSingleActiveId(store: any, sessionId: string, activeIdKey: string, defaultShowKey: string): () => void;
24
+ /**
25
+ * 智能处理列表的 activeId 选择逻辑(通用方法,适用于所有列表场景)
26
+ *
27
+ * 核心逻辑:
28
+ * 1. 如果当前 activeId 在列表中存在,则维持现状不处理
29
+ * 2. 如果当前 activeId 不在列表中:
30
+ * - autoSelect = false: 清空 activeId
31
+ * - autoSelect = true: 设置 list[0] 为 activeId,并调用 onItemClick(如果提供)
32
+ * 3. 如果列表为空,清空 activeId
33
+ *
34
+ * @param store 状态管理器
35
+ * @param sessionId 会话ID
36
+ * @param activeIdKey activeId 的键名(如 'todo_lst_activeId',不需要包含 sessionId 前缀)
37
+ * @param list 列表数据数组
38
+ * @param autoSelect 是否自动选择:true-自动选择第一个(如果当前activeId不在列表中),false-仅校验并清空无效的activeId
39
+ * @param onItemClick 可选的点击回调函数,当需要自动选择时会调用此函数(如 todo_item_click)
40
+ * @param idField 用于匹配的字段名,默认为 'id'
41
+ * @returns 返回处理后的 activeId(如果发生变化)
42
+ *
43
+ * @example
44
+ * // 待办列表:自动选择第一个(如果当前activeId不在列表中)
45
+ * handleListActiveId(
46
+ * store,
47
+ * sessionId,
48
+ * 'todo_lst_activeId',
49
+ * list,
50
+ * true, // autoSelect = true
51
+ * todo_item_click
52
+ * )
53
+ *
54
+ * @example
55
+ * // 已完成列表:仅校验并清空无效的activeId
56
+ * handleListActiveId(
57
+ * store,
58
+ * sessionId,
59
+ * 'done_lst_activeId',
60
+ * list,
61
+ * false, // autoSelect = false
62
+ * done_item_click
63
+ * )
64
+ */
65
+ export declare function handleListActiveId(store: any, sessionId: string, activeIdKey: string, list: any[], autoSelect?: boolean, onItemClick?: (id: string) => void, idField?: string): string | null;
66
+ //# sourceMappingURL=runCommonUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runCommonUtils.d.ts","sourceRoot":"","sources":["../../src/utils/runCommonUtils.ts"],"names":[],"mappings":"AAKA,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,UAExD;AAGD,wBAAgB,cAAc,CAAC,cAAc,EAAE,GAAG,WAWjD;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,OAEvC;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAQxE;AAGD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAErE;AA2CD,eAAO,MAAM,sBAAsB;WAtCxB,MAAM;WACN,MAAM;cACH,MAAM;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;GAiCsD,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,MAAM,IAAI,CAyBZ;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,MAAM,IAAI,CAqBZ;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,GAAG,EAAE,EACX,UAAU,GAAE,OAAe,EAC3B,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,EAClC,OAAO,GAAE,MAAa,GACrB,MAAM,GAAG,IAAI,CA8Cf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuwatop/code-canvas-core",
3
- "version": "0.3.9",
3
+ "version": "0.4.0",
4
4
  "description": "Core components and utilities for code-canvas visualization editor (React)",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -43,22 +43,27 @@
43
43
  "async-validator": "^4.2.5",
44
44
  "clsx": "^2.1.1",
45
45
  "dayjs": "^1.11.10",
46
+ "immer": "^10.1.1",
46
47
  "lodash-es": "^4.17.21"
47
48
  },
49
+ "peerDependencies": {
50
+ "@ant-design/icons": "^6.1.0",
51
+ "antd": "^6.1.1",
52
+ "pdfjs-dist": "5.4.296",
53
+ "react": "^19.2.0",
54
+ "react-dom": "^19.2.0",
55
+ "react-pdf": "^10.4.1",
56
+ "zustand": "^5.0.9"
57
+ },
48
58
  "devDependencies": {
49
59
  "@types/lodash-es": "^4.17.12",
50
60
  "@types/react": "^19.0.0",
51
61
  "@types/react-dom": "^19.0.0",
52
62
  "@vitejs/plugin-react": "^4.4.0",
63
+ "pdfjs-dist": "5.4.296",
64
+ "react-pdf": "^10.4.1",
53
65
  "typescript": "5.3.3",
54
66
  "vite": "5.4.11",
55
67
  "vite-plugin-dts": "^3.6.4"
56
- },
57
- "peerDependencies": {
58
- "@ant-design/icons": "^6.1.0",
59
- "antd": "^6.1.1",
60
- "react": "^19.2.0",
61
- "react-dom": "^19.2.0",
62
- "zustand": "^5.0.9"
63
68
  }
64
69
  }