@composy/log-viewer-vue 0.0.1

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 (43) hide show
  1. package/README.md +46 -0
  2. package/dist/index.css +3 -0
  3. package/dist/index.js +260 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.min.css +3 -0
  6. package/dist/index.min.js +1 -0
  7. package/es/components/LogViewer.js +17 -0
  8. package/es/components/LogViewer.js.map +1 -0
  9. package/es/components/LogViewer.vue_vue_type_script_setup_true_lang.js +109 -0
  10. package/es/components/LogViewer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  11. package/es/composables/useLogViewer.d.ts +116 -0
  12. package/es/composables/useLogViewer.d.ts.map +1 -0
  13. package/es/composables/useLogViewer.js +113 -0
  14. package/es/composables/useLogViewer.js.map +1 -0
  15. package/es/index.d.ts +15 -0
  16. package/es/index.d.ts.map +1 -0
  17. package/es/index.js +19 -0
  18. package/es/index.js.map +1 -0
  19. package/es/plugin.d.ts +8 -0
  20. package/es/plugin.d.ts.map +1 -0
  21. package/es/plugin.js +18 -0
  22. package/es/plugin.js.map +1 -0
  23. package/es/style/css.js +1 -0
  24. package/es/style/index.js +1 -0
  25. package/es/style/index.less +1 -0
  26. package/lib/components/LogViewer.cjs +21 -0
  27. package/lib/components/LogViewer.cjs.map +1 -0
  28. package/lib/components/LogViewer.vue_vue_type_script_setup_true_lang.cjs +109 -0
  29. package/lib/components/LogViewer.vue_vue_type_script_setup_true_lang.cjs.map +1 -0
  30. package/lib/composables/useLogViewer.cjs +114 -0
  31. package/lib/composables/useLogViewer.cjs.map +1 -0
  32. package/lib/composables/useLogViewer.d.ts +116 -0
  33. package/lib/index.cjs +53 -0
  34. package/lib/index.cjs.map +1 -0
  35. package/lib/index.d.ts +15 -0
  36. package/lib/package.json +3 -0
  37. package/lib/plugin.cjs +19 -0
  38. package/lib/plugin.cjs.map +1 -0
  39. package/lib/plugin.d.ts +8 -0
  40. package/lib/style/css.js +1 -0
  41. package/lib/style/index.css +2 -0
  42. package/lib/style/index.js +1 -0
  43. package/package.json +95 -0
@@ -0,0 +1,113 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ import { onUnmounted, ref } from "vue";
11
+ import { createLogViewer } from "@composy/log-viewer-core";
12
+ //#region src/composables/useLogViewer.ts
13
+ function useLogViewer() {
14
+ const instance = ref(null);
15
+ const data = ref([]);
16
+ const filter = ref({});
17
+ const theme = ref("light");
18
+ const pagination = ref({
19
+ page: 1,
20
+ pageSize: 20
21
+ });
22
+ function create(container, config) {
23
+ if (instance.value) instance.value.destroy();
24
+ instance.value = createLogViewer({
25
+ container,
26
+ ...config
27
+ });
28
+ instance.value.on("data:change", (entries) => {
29
+ data.value = entries;
30
+ });
31
+ instance.value.on("filter:change", (f) => {
32
+ filter.value = f;
33
+ });
34
+ instance.value.on("theme:change", (t) => {
35
+ theme.value = t;
36
+ });
37
+ instance.value.on("page:change", () => {
38
+ if (instance.value) pagination.value = instance.value.getPagination();
39
+ });
40
+ if (config?.data) data.value = config.data;
41
+ if (config?.theme) theme.value = config.theme;
42
+ if (config?.filter) filter.value = config.filter;
43
+ }
44
+ function setData(entries) {
45
+ instance.value?.setData(entries);
46
+ data.value = entries;
47
+ }
48
+ function appendData(entries) {
49
+ instance.value?.appendData(entries);
50
+ data.value = instance.value?.getData() || [];
51
+ }
52
+ function setFilter(f) {
53
+ instance.value?.setFilter(f);
54
+ filter.value = f;
55
+ }
56
+ function resetFilter() {
57
+ instance.value?.resetFilter();
58
+ filter.value = {};
59
+ }
60
+ function setTheme(t) {
61
+ instance.value?.setTheme(t);
62
+ theme.value = t;
63
+ }
64
+ function expandEntry(id) {
65
+ instance.value?.expandEntry(id);
66
+ }
67
+ function collapseEntry(id) {
68
+ instance.value?.collapseEntry(id);
69
+ }
70
+ function collapseAll() {
71
+ instance.value?.collapseAll();
72
+ }
73
+ function goToPage(page) {
74
+ instance.value?.goToPage(page);
75
+ }
76
+ function refresh() {
77
+ instance.value?.refresh();
78
+ }
79
+ function destroy() {
80
+ instance.value?.destroy();
81
+ instance.value = null;
82
+ }
83
+ function on(event, callback) {
84
+ return instance.value?.on(event, callback) || (() => {});
85
+ }
86
+ onUnmounted(() => {
87
+ destroy();
88
+ });
89
+ return {
90
+ instance,
91
+ data,
92
+ filter,
93
+ theme,
94
+ pagination,
95
+ create,
96
+ setData,
97
+ appendData,
98
+ setFilter,
99
+ resetFilter,
100
+ setTheme,
101
+ expandEntry,
102
+ collapseEntry,
103
+ collapseAll,
104
+ goToPage,
105
+ refresh,
106
+ destroy,
107
+ on
108
+ };
109
+ }
110
+ //#endregion
111
+ export { useLogViewer };
112
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
113
+ //# sourceMappingURL=useLogViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLogViewer.js","names":[],"sources":["../../src/composables/useLogViewer.ts"],"sourcesContent":["/**\n * useLogViewer - Vue 3 组合式 API\n */\nimport { ref, onUnmounted } from 'vue'\nimport {\n createLogViewer,\n type LogViewer,\n type LogViewerConfig,\n type LogEntry,\n type FilterConfig,\n type ThemeMode,\n type PaginationConfig,\n} from '@composy/log-viewer-core'\n\n/**\n * useLogViewer - use Log Viewer function\n * @returns 返回值说明\n */\nexport function useLogViewer() {\n const instance = ref<LogViewer | null>(null)\n const data = ref<LogEntry[]>([])\n const filter = ref<FilterConfig>({})\n const theme = ref<ThemeMode>('light')\n const pagination = ref<PaginationConfig>({ page: 1, pageSize: 20 })\n\n function create(container: HTMLElement | string, config?: Partial<LogViewerConfig>) {\n if (instance.value) {\n instance.value.destroy()\n }\n\n instance.value = createLogViewer({\n container,\n ...config,\n })\n\n // Sync refs\n instance.value.on('data:change', (entries: LogEntry[]) => {\n data.value = entries\n })\n instance.value.on('filter:change', (f: FilterConfig) => {\n filter.value = f\n })\n instance.value.on('theme:change', (t: ThemeMode) => {\n theme.value = t\n })\n instance.value.on('page:change', () => {\n if (instance.value) {\n pagination.value = instance.value.getPagination()\n }\n })\n\n if (config?.data) data.value = config.data\n if (config?.theme) theme.value = config.theme\n if (config?.filter) filter.value = config.filter\n }\n\n function setData(entries: LogEntry[]) {\n instance.value?.setData(entries)\n data.value = entries\n }\n\n function appendData(entries: LogEntry[]) {\n instance.value?.appendData(entries)\n data.value = instance.value?.getData() || []\n }\n\n function setFilter(f: FilterConfig) {\n instance.value?.setFilter(f)\n filter.value = f\n }\n\n function resetFilter() {\n instance.value?.resetFilter()\n filter.value = {}\n }\n\n function setTheme(t: ThemeMode) {\n instance.value?.setTheme(t)\n theme.value = t\n }\n\n function expandEntry(id: string) {\n instance.value?.expandEntry(id)\n }\n\n function collapseEntry(id: string) {\n instance.value?.collapseEntry(id)\n }\n\n function collapseAll() {\n instance.value?.collapseAll()\n }\n\n function goToPage(page: number) {\n instance.value?.goToPage(page)\n }\n\n function refresh() {\n instance.value?.refresh()\n }\n\n function destroy() {\n instance.value?.destroy()\n instance.value = null\n }\n\n function on(event: string, callback: (...args: unknown[]) => void): () => void {\n return instance.value?.on(event, callback) || (() => {})\n }\n\n onUnmounted(() => {\n destroy()\n })\n\n return {\n instance,\n data,\n filter,\n theme,\n pagination,\n create,\n setData,\n appendData,\n setFilter,\n resetFilter,\n setTheme,\n expandEntry,\n collapseEntry,\n collapseAll,\n goToPage,\n refresh,\n destroy,\n on,\n }\n}\n"],"mappings":";;;;;;;;;;;;AAkBO,SAAS,eAAe;CAC7B,MAAM,WAAW,IAAsB,IAAI;CAC3C,MAAM,OAAO,IAAgB,CAAC,CAAC;CAC/B,MAAM,SAAS,IAAkB,CAAC,CAAC;CACnC,MAAM,QAAQ,IAAe,OAAO;CACpC,MAAM,aAAa,IAAsB;EAAE,MAAM;EAAG,UAAU;CAAG,CAAC;CAElE,SAAS,OAAO,WAAiC,QAAmC;EAClF,IAAI,SAAS,OACX,SAAS,MAAM,QAAQ;EAGzB,SAAS,QAAQ,gBAAgB;GAC/B;GACA,GAAG;EACL,CAAC;EAGD,SAAS,MAAM,GAAG,gBAAgB,YAAwB;GACxD,KAAK,QAAQ;EACf,CAAC;EACD,SAAS,MAAM,GAAG,kBAAkB,MAAoB;GACtD,OAAO,QAAQ;EACjB,CAAC;EACD,SAAS,MAAM,GAAG,iBAAiB,MAAiB;GAClD,MAAM,QAAQ;EAChB,CAAC;EACD,SAAS,MAAM,GAAG,qBAAqB;GACrC,IAAI,SAAS,OACX,WAAW,QAAQ,SAAS,MAAM,cAAc;EAEpD,CAAC;EAED,IAAI,QAAQ,MAAM,KAAK,QAAQ,OAAO;EACtC,IAAI,QAAQ,OAAO,MAAM,QAAQ,OAAO;EACxC,IAAI,QAAQ,QAAQ,OAAO,QAAQ,OAAO;CAC5C;CAEA,SAAS,QAAQ,SAAqB;EACpC,SAAS,OAAO,QAAQ,OAAO;EAC/B,KAAK,QAAQ;CACf;CAEA,SAAS,WAAW,SAAqB;EACvC,SAAS,OAAO,WAAW,OAAO;EAClC,KAAK,QAAQ,SAAS,OAAO,QAAQ,KAAK,CAAC;CAC7C;CAEA,SAAS,UAAU,GAAiB;EAClC,SAAS,OAAO,UAAU,CAAC;EAC3B,OAAO,QAAQ;CACjB;CAEA,SAAS,cAAc;EACrB,SAAS,OAAO,YAAY;EAC5B,OAAO,QAAQ,CAAC;CAClB;CAEA,SAAS,SAAS,GAAc;EAC9B,SAAS,OAAO,SAAS,CAAC;EAC1B,MAAM,QAAQ;CAChB;CAEA,SAAS,YAAY,IAAY;EAC/B,SAAS,OAAO,YAAY,EAAE;CAChC;CAEA,SAAS,cAAc,IAAY;EACjC,SAAS,OAAO,cAAc,EAAE;CAClC;CAEA,SAAS,cAAc;EACrB,SAAS,OAAO,YAAY;CAC9B;CAEA,SAAS,SAAS,MAAc;EAC9B,SAAS,OAAO,SAAS,IAAI;CAC/B;CAEA,SAAS,UAAU;EACjB,SAAS,OAAO,QAAQ;CAC1B;CAEA,SAAS,UAAU;EACjB,SAAS,OAAO,QAAQ;EACxB,SAAS,QAAQ;CACnB;CAEA,SAAS,GAAG,OAAe,UAAoD;EAC7E,OAAO,SAAS,OAAO,GAAG,OAAO,QAAQ,YAAY,CAAC;CACxD;CAEA,kBAAkB;EAChB,QAAQ;CACV,CAAC;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
package/es/index.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @composy/log-viewer-vue
3
+ *
4
+ * 审计日志查看器 — Vue 3 适配层
5
+ * 提供 LogViewer 组件、useLogViewer 组合式函数和 Vue 插件
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export declare const VERSION = "0.1.0";
10
+ export { default as LogViewer } from './components/LogViewer.vue';
11
+ export { useLogViewer } from './composables/useLogViewer';
12
+ export { LogViewerPlugin } from './plugin';
13
+ export type { ActionType, ThemeMode, AnomalyType, DiffEntry, LogEntry, FilterConfig, PaginationConfig, LogViewerConfig, LogViewerInstance, LogViewerEvents, } from '@composy/log-viewer-core';
14
+ export { createLogViewer, ACTION_LABELS, ACTION_COLORS, formatDate, formatRelativeTime, } from '@composy/log-viewer-core';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAA;AAG9B,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAGjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAGzD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,YAAY,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,UAAU,EACV,kBAAkB,GACnB,MAAM,0BAA0B,CAAA"}
package/es/index.js ADDED
@@ -0,0 +1,19 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ import LogViewer_default from "./components/LogViewer.js";
11
+ import { useLogViewer } from "./composables/useLogViewer.js";
12
+ import { LogViewerPlugin } from "./plugin.js";
13
+ import { ACTION_COLORS, ACTION_LABELS, createLogViewer, formatDate, formatRelativeTime } from "@composy/log-viewer-core";
14
+ //#region src/index.ts
15
+ const VERSION = "0.1.0";
16
+ //#endregion
17
+ export { ACTION_COLORS, ACTION_LABELS, LogViewer_default as LogViewer, LogViewerPlugin, VERSION, createLogViewer, formatDate, formatRelativeTime, useLogViewer };
18
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @composy/log-viewer-vue\n *\n * 审计日志查看器 — Vue 3 适配层\n * 提供 LogViewer 组件、useLogViewer 组合式函数和 Vue 插件\n *\n * @packageDocumentation\n */\n\nexport const VERSION = '0.1.0'\n\n// 组件\nexport { default as LogViewer } from './components/LogViewer.vue'\n\n// 组合式 API\nexport { useLogViewer } from './composables/useLogViewer'\n\n// 插件\nexport { LogViewerPlugin } from './plugin'\n\n// 重新导出核心类型\nexport type {\n ActionType,\n ThemeMode,\n AnomalyType,\n DiffEntry,\n LogEntry,\n FilterConfig,\n PaginationConfig,\n LogViewerConfig,\n LogViewerInstance,\n LogViewerEvents,\n} from '@composy/log-viewer-core'\n\nexport {\n createLogViewer,\n ACTION_LABELS,\n ACTION_COLORS,\n formatDate,\n formatRelativeTime,\n} from '@composy/log-viewer-core'\n"],"mappings":";;;;;;;;;;;;;;AASO,MAAM,UAAU"}
package/es/plugin.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Vue 插件 - 全局注册 LogViewer 组件
3
+ */
4
+ import type { App } from 'vue';
5
+ export declare const LogViewerPlugin: {
6
+ install(app: App): void;
7
+ };
8
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAG9B,eAAO,MAAM,eAAe;iBACb,GAAG;CAGjB,CAAA"}
package/es/plugin.js ADDED
@@ -0,0 +1,18 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ import LogViewer_default from "./components/LogViewer.js";
11
+ //#region src/plugin.ts
12
+ const LogViewerPlugin = { install(app) {
13
+ app.component("LogViewer", LogViewer_default);
14
+ } };
15
+ //#endregion
16
+ export { LogViewerPlugin };
17
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
18
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","names":[],"sources":["../src/plugin.ts"],"sourcesContent":["/**\n * Vue 插件 - 全局注册 LogViewer 组件\n */\nimport type { App } from 'vue'\nimport LogViewer from './components/LogViewer.vue'\n\nexport const LogViewerPlugin = {\n install(app: App) {\n app.component('LogViewer', LogViewer)\n },\n}\n"],"mappings":";;;;;;;;;;;AAMO,MAAM,kBAAkB,EAC7B,QAAQ,KAAU;CAChB,IAAI,UAAU,aAAa,iBAAS;AACtC,EACF"}
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1 @@
1
+ import './index.less';
@@ -0,0 +1 @@
1
+ // @ldesign styles
@@ -0,0 +1,21 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ Object.defineProperties(exports, {
11
+ __esModule: { value: true },
12
+ [Symbol.toStringTag]: { value: "Module" }
13
+ });
14
+ const require_LogViewer_vue_vue_type_script_setup_true_lang = require("./LogViewer.vue_vue_type_script_setup_true_lang.cjs");
15
+ //#region src/components/LogViewer.vue
16
+ require_LogViewer_vue_vue_type_script_setup_true_lang.default.__file = "src/components/LogViewer.vue";
17
+ var LogViewer_default = require_LogViewer_vue_vue_type_script_setup_true_lang.default;
18
+ //#endregion
19
+ exports.default = LogViewer_default;
20
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
21
+ //# sourceMappingURL=LogViewer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewer.cjs","names":[],"sources":["../../src/components/LogViewer.vue"],"sourcesContent":["<!--\n @file 日志查看器组件\n @description LDesign 日志查看器组件,支持日志过滤、差异对比、异常标记等功能\n-->\n<template>\n <div ref=\"containerRef\" class=\"lv-vue-root\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, onMounted, onUnmounted, watch, toRefs } from 'vue'\nimport {\n createLogViewer,\n type LogViewerConfig,\n type LogEntry,\n type FilterConfig,\n type ThemeMode,\n type LogViewer as LogViewerInstance,\n} from '@composy/log-viewer-core'\n\nconst props = withDefaults(defineProps<{\n data?: LogEntry[]\n filter?: FilterConfig\n theme?: ThemeMode\n pageSize?: number\n showFilter?: boolean\n showDiff?: boolean\n showAnomalyBadge?: boolean\n}>(), {\n data: () => [],\n theme: 'light',\n pageSize: 20,\n showFilter: true,\n showDiff: true,\n showAnomalyBadge: true,\n})\n\nconst emit = defineEmits<{\n 'entry-click': [entry: LogEntry]\n 'entry-expand': [entry: LogEntry]\n 'entry-collapse': [entry: LogEntry]\n 'filter-change': [filter: FilterConfig]\n 'theme-change': [theme: ThemeMode]\n 'page-change': [page: number]\n}>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet instance: LogViewerInstance | null = null\n\nonMounted(() => {\n if (!containerRef.value) return\n\n instance = createLogViewer({\n container: containerRef.value,\n data: props.data,\n filter: props.filter,\n theme: props.theme,\n pageSize: props.pageSize,\n showFilter: props.showFilter,\n showDiff: props.showDiff,\n showAnomalyBadge: props.showAnomalyBadge,\n })\n\n instance.on('entry:click', (entry: LogEntry) => emit('entry-click', entry))\n instance.on('entry:expand', (entry: LogEntry) => emit('entry-expand', entry))\n instance.on('entry:collapse', (entry: LogEntry) => emit('entry-collapse', entry))\n instance.on('filter:change', (filter: FilterConfig) => emit('filter-change', filter))\n instance.on('theme:change', (theme: ThemeMode) => emit('theme-change', theme))\n instance.on('page:change', (page: number) => emit('page-change', page))\n})\n\nwatch(() => props.data, (newData) => {\n instance?.setData(newData)\n}, { deep: true })\n\nwatch(() => props.filter, (newFilter) => {\n if (newFilter) instance?.setFilter(newFilter)\n}, { deep: true })\n\nwatch(() => props.theme, (newTheme) => {\n instance?.setTheme(newTheme)\n})\n\nonUnmounted(() => {\n instance?.destroy()\n instance = null\n})\n\ndefineExpose({\n getInstance: () => instance,\n})\n</script>\n"],"mappings":""}
@@ -0,0 +1,109 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ let vue = require("vue");
11
+ let _composy_log_viewer_core = require("@composy/log-viewer-core");
12
+ //#region src/components/LogViewer.vue?vue&type=script&setup=true&lang.ts
13
+ var LogViewer_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ (0, vue.defineComponent)({
14
+ __name: "LogViewer",
15
+ props: {
16
+ data: {
17
+ type: Array,
18
+ required: false,
19
+ default: () => []
20
+ },
21
+ filter: {
22
+ type: Object,
23
+ required: false
24
+ },
25
+ theme: {
26
+ type: String,
27
+ required: false,
28
+ default: "light"
29
+ },
30
+ pageSize: {
31
+ type: Number,
32
+ required: false,
33
+ default: 20
34
+ },
35
+ showFilter: {
36
+ type: Boolean,
37
+ required: false,
38
+ default: true
39
+ },
40
+ showDiff: {
41
+ type: Boolean,
42
+ required: false,
43
+ default: true
44
+ },
45
+ showAnomalyBadge: {
46
+ type: Boolean,
47
+ required: false,
48
+ default: true
49
+ }
50
+ },
51
+ emits: [
52
+ "entry-click",
53
+ "entry-expand",
54
+ "entry-collapse",
55
+ "filter-change",
56
+ "theme-change",
57
+ "page-change"
58
+ ],
59
+ setup(__props, { expose: __expose, emit: __emit }) {
60
+ const props = __props;
61
+ const emit = __emit;
62
+ const containerRef = (0, vue.ref)(null);
63
+ let instance = null;
64
+ (0, vue.onMounted)(() => {
65
+ if (!containerRef.value) return;
66
+ instance = (0, _composy_log_viewer_core.createLogViewer)({
67
+ container: containerRef.value,
68
+ data: props.data,
69
+ filter: props.filter,
70
+ theme: props.theme,
71
+ pageSize: props.pageSize,
72
+ showFilter: props.showFilter,
73
+ showDiff: props.showDiff,
74
+ showAnomalyBadge: props.showAnomalyBadge
75
+ });
76
+ instance.on("entry:click", (entry) => emit("entry-click", entry));
77
+ instance.on("entry:expand", (entry) => emit("entry-expand", entry));
78
+ instance.on("entry:collapse", (entry) => emit("entry-collapse", entry));
79
+ instance.on("filter:change", (filter) => emit("filter-change", filter));
80
+ instance.on("theme:change", (theme) => emit("theme-change", theme));
81
+ instance.on("page:change", (page) => emit("page-change", page));
82
+ });
83
+ (0, vue.watch)(() => props.data, (newData) => {
84
+ instance?.setData(newData);
85
+ }, { deep: true });
86
+ (0, vue.watch)(() => props.filter, (newFilter) => {
87
+ if (newFilter) instance?.setFilter(newFilter);
88
+ }, { deep: true });
89
+ (0, vue.watch)(() => props.theme, (newTheme) => {
90
+ instance?.setTheme(newTheme);
91
+ });
92
+ (0, vue.onUnmounted)(() => {
93
+ instance?.destroy();
94
+ instance = null;
95
+ });
96
+ __expose({ getInstance: () => instance });
97
+ return (_ctx, _cache) => {
98
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
99
+ ref_key: "containerRef",
100
+ ref: containerRef,
101
+ class: "lv-vue-root"
102
+ }, null, 512);
103
+ };
104
+ }
105
+ });
106
+ //#endregion
107
+ exports.default = LogViewer_vue_vue_type_script_setup_true_lang_default;
108
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
109
+ //# sourceMappingURL=LogViewer.vue_vue_type_script_setup_true_lang.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogViewer.vue_vue_type_script_setup_true_lang.cjs","names":[],"sources":["../../src/components/LogViewer.vue"],"sourcesContent":["<!--\n @file 日志查看器组件\n @description LDesign 日志查看器组件,支持日志过滤、差异对比、异常标记等功能\n-->\n<template>\n <div ref=\"containerRef\" class=\"lv-vue-root\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, onMounted, onUnmounted, watch, toRefs } from 'vue'\nimport {\n createLogViewer,\n type LogViewerConfig,\n type LogEntry,\n type FilterConfig,\n type ThemeMode,\n type LogViewer as LogViewerInstance,\n} from '@composy/log-viewer-core'\n\nconst props = withDefaults(defineProps<{\n data?: LogEntry[]\n filter?: FilterConfig\n theme?: ThemeMode\n pageSize?: number\n showFilter?: boolean\n showDiff?: boolean\n showAnomalyBadge?: boolean\n}>(), {\n data: () => [],\n theme: 'light',\n pageSize: 20,\n showFilter: true,\n showDiff: true,\n showAnomalyBadge: true,\n})\n\nconst emit = defineEmits<{\n 'entry-click': [entry: LogEntry]\n 'entry-expand': [entry: LogEntry]\n 'entry-collapse': [entry: LogEntry]\n 'filter-change': [filter: FilterConfig]\n 'theme-change': [theme: ThemeMode]\n 'page-change': [page: number]\n}>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet instance: LogViewerInstance | null = null\n\nonMounted(() => {\n if (!containerRef.value) return\n\n instance = createLogViewer({\n container: containerRef.value,\n data: props.data,\n filter: props.filter,\n theme: props.theme,\n pageSize: props.pageSize,\n showFilter: props.showFilter,\n showDiff: props.showDiff,\n showAnomalyBadge: props.showAnomalyBadge,\n })\n\n instance.on('entry:click', (entry: LogEntry) => emit('entry-click', entry))\n instance.on('entry:expand', (entry: LogEntry) => emit('entry-expand', entry))\n instance.on('entry:collapse', (entry: LogEntry) => emit('entry-collapse', entry))\n instance.on('filter:change', (filter: FilterConfig) => emit('filter-change', filter))\n instance.on('theme:change', (theme: ThemeMode) => emit('theme-change', theme))\n instance.on('page:change', (page: number) => emit('page-change', page))\n})\n\nwatch(() => props.data, (newData) => {\n instance?.setData(newData)\n}, { deep: true })\n\nwatch(() => props.filter, (newFilter) => {\n if (newFilter) instance?.setFilter(newFilter)\n}, { deep: true })\n\nwatch(() => props.theme, (newTheme) => {\n instance?.setTheme(newTheme)\n})\n\nonUnmounted(() => {\n instance?.destroy()\n instance = null\n})\n\ndefineExpose({\n getInstance: () => instance,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBA,MAAM,QAAQ;EAiBd,MAAM,OAAO;EASb,MAAM,gBAAA,GAAA,IAAA,IAAA,CAAuC,IAAI;EACjD,IAAI,WAAqC;EAEzC,CAAA,GAAA,IAAA,UAAA,OAAgB;GACd,IAAI,CAAC,aAAa,OAAO;GAEzB,YAAA,GAAA,yBAAA,gBAAA,CAA2B;IACzB,WAAW,aAAa;IACxB,MAAM,MAAM;IACZ,QAAQ,MAAM;IACd,OAAO,MAAM;IACb,UAAU,MAAM;IAChB,YAAY,MAAM;IAClB,UAAU,MAAM;IAChB,kBAAkB,MAAM;GAC1B,CAAC;GAED,SAAS,GAAG,gBAAgB,UAAoB,KAAK,eAAe,KAAK,CAAC;GAC1E,SAAS,GAAG,iBAAiB,UAAoB,KAAK,gBAAgB,KAAK,CAAC;GAC5E,SAAS,GAAG,mBAAmB,UAAoB,KAAK,kBAAkB,KAAK,CAAC;GAChF,SAAS,GAAG,kBAAkB,WAAyB,KAAK,iBAAiB,MAAM,CAAC;GACpF,SAAS,GAAG,iBAAiB,UAAqB,KAAK,gBAAgB,KAAK,CAAC;GAC7E,SAAS,GAAG,gBAAgB,SAAiB,KAAK,eAAe,IAAI,CAAC;EACxE,CAAC;EAED,CAAA,GAAA,IAAA,MAAA,OAAY,MAAM,OAAO,YAAY;GACnC,UAAU,QAAQ,OAAO;EAC3B,GAAG,EAAE,MAAM,KAAK,CAAC;EAEjB,CAAA,GAAA,IAAA,MAAA,OAAY,MAAM,SAAS,cAAc;GACvC,IAAI,WAAW,UAAU,UAAU,SAAS;EAC9C,GAAG,EAAE,MAAM,KAAK,CAAC;EAEjB,CAAA,GAAA,IAAA,MAAA,OAAY,MAAM,QAAQ,aAAa;GACrC,UAAU,SAAS,QAAQ;EAC7B,CAAC;EAED,CAAA,GAAA,IAAA,YAAA,OAAkB;GAChB,UAAU,QAAQ;GAClB,WAAW;EACb,CAAC;EAED,SAAa,EACX,mBAAmB,SACrB,CAAC;;4DApFmD,OAAA;aAAzC;IAAJ,KAAI;IAAe,OAAM"}
@@ -0,0 +1,114 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
11
+ let vue = require("vue");
12
+ let _composy_log_viewer_core = require("@composy/log-viewer-core");
13
+ //#region src/composables/useLogViewer.ts
14
+ function useLogViewer() {
15
+ const instance = (0, vue.ref)(null);
16
+ const data = (0, vue.ref)([]);
17
+ const filter = (0, vue.ref)({});
18
+ const theme = (0, vue.ref)("light");
19
+ const pagination = (0, vue.ref)({
20
+ page: 1,
21
+ pageSize: 20
22
+ });
23
+ function create(container, config) {
24
+ if (instance.value) instance.value.destroy();
25
+ instance.value = (0, _composy_log_viewer_core.createLogViewer)({
26
+ container,
27
+ ...config
28
+ });
29
+ instance.value.on("data:change", (entries) => {
30
+ data.value = entries;
31
+ });
32
+ instance.value.on("filter:change", (f) => {
33
+ filter.value = f;
34
+ });
35
+ instance.value.on("theme:change", (t) => {
36
+ theme.value = t;
37
+ });
38
+ instance.value.on("page:change", () => {
39
+ if (instance.value) pagination.value = instance.value.getPagination();
40
+ });
41
+ if (config?.data) data.value = config.data;
42
+ if (config?.theme) theme.value = config.theme;
43
+ if (config?.filter) filter.value = config.filter;
44
+ }
45
+ function setData(entries) {
46
+ instance.value?.setData(entries);
47
+ data.value = entries;
48
+ }
49
+ function appendData(entries) {
50
+ instance.value?.appendData(entries);
51
+ data.value = instance.value?.getData() || [];
52
+ }
53
+ function setFilter(f) {
54
+ instance.value?.setFilter(f);
55
+ filter.value = f;
56
+ }
57
+ function resetFilter() {
58
+ instance.value?.resetFilter();
59
+ filter.value = {};
60
+ }
61
+ function setTheme(t) {
62
+ instance.value?.setTheme(t);
63
+ theme.value = t;
64
+ }
65
+ function expandEntry(id) {
66
+ instance.value?.expandEntry(id);
67
+ }
68
+ function collapseEntry(id) {
69
+ instance.value?.collapseEntry(id);
70
+ }
71
+ function collapseAll() {
72
+ instance.value?.collapseAll();
73
+ }
74
+ function goToPage(page) {
75
+ instance.value?.goToPage(page);
76
+ }
77
+ function refresh() {
78
+ instance.value?.refresh();
79
+ }
80
+ function destroy() {
81
+ instance.value?.destroy();
82
+ instance.value = null;
83
+ }
84
+ function on(event, callback) {
85
+ return instance.value?.on(event, callback) || (() => {});
86
+ }
87
+ (0, vue.onUnmounted)(() => {
88
+ destroy();
89
+ });
90
+ return {
91
+ instance,
92
+ data,
93
+ filter,
94
+ theme,
95
+ pagination,
96
+ create,
97
+ setData,
98
+ appendData,
99
+ setFilter,
100
+ resetFilter,
101
+ setTheme,
102
+ expandEntry,
103
+ collapseEntry,
104
+ collapseAll,
105
+ goToPage,
106
+ refresh,
107
+ destroy,
108
+ on
109
+ };
110
+ }
111
+ //#endregion
112
+ exports.useLogViewer = useLogViewer;
113
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
114
+ //# sourceMappingURL=useLogViewer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLogViewer.cjs","names":[],"sources":["../../src/composables/useLogViewer.ts"],"sourcesContent":["/**\n * useLogViewer - Vue 3 组合式 API\n */\nimport { ref, onUnmounted } from 'vue'\nimport {\n createLogViewer,\n type LogViewer,\n type LogViewerConfig,\n type LogEntry,\n type FilterConfig,\n type ThemeMode,\n type PaginationConfig,\n} from '@composy/log-viewer-core'\n\n/**\n * useLogViewer - use Log Viewer function\n * @returns 返回值说明\n */\nexport function useLogViewer() {\n const instance = ref<LogViewer | null>(null)\n const data = ref<LogEntry[]>([])\n const filter = ref<FilterConfig>({})\n const theme = ref<ThemeMode>('light')\n const pagination = ref<PaginationConfig>({ page: 1, pageSize: 20 })\n\n function create(container: HTMLElement | string, config?: Partial<LogViewerConfig>) {\n if (instance.value) {\n instance.value.destroy()\n }\n\n instance.value = createLogViewer({\n container,\n ...config,\n })\n\n // Sync refs\n instance.value.on('data:change', (entries: LogEntry[]) => {\n data.value = entries\n })\n instance.value.on('filter:change', (f: FilterConfig) => {\n filter.value = f\n })\n instance.value.on('theme:change', (t: ThemeMode) => {\n theme.value = t\n })\n instance.value.on('page:change', () => {\n if (instance.value) {\n pagination.value = instance.value.getPagination()\n }\n })\n\n if (config?.data) data.value = config.data\n if (config?.theme) theme.value = config.theme\n if (config?.filter) filter.value = config.filter\n }\n\n function setData(entries: LogEntry[]) {\n instance.value?.setData(entries)\n data.value = entries\n }\n\n function appendData(entries: LogEntry[]) {\n instance.value?.appendData(entries)\n data.value = instance.value?.getData() || []\n }\n\n function setFilter(f: FilterConfig) {\n instance.value?.setFilter(f)\n filter.value = f\n }\n\n function resetFilter() {\n instance.value?.resetFilter()\n filter.value = {}\n }\n\n function setTheme(t: ThemeMode) {\n instance.value?.setTheme(t)\n theme.value = t\n }\n\n function expandEntry(id: string) {\n instance.value?.expandEntry(id)\n }\n\n function collapseEntry(id: string) {\n instance.value?.collapseEntry(id)\n }\n\n function collapseAll() {\n instance.value?.collapseAll()\n }\n\n function goToPage(page: number) {\n instance.value?.goToPage(page)\n }\n\n function refresh() {\n instance.value?.refresh()\n }\n\n function destroy() {\n instance.value?.destroy()\n instance.value = null\n }\n\n function on(event: string, callback: (...args: unknown[]) => void): () => void {\n return instance.value?.on(event, callback) || (() => {})\n }\n\n onUnmounted(() => {\n destroy()\n })\n\n return {\n instance,\n data,\n filter,\n theme,\n pagination,\n create,\n setData,\n appendData,\n setFilter,\n resetFilter,\n setTheme,\n expandEntry,\n collapseEntry,\n collapseAll,\n goToPage,\n refresh,\n destroy,\n on,\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAkBO,SAAS,eAAe;CAC7B,MAAM,YAAA,GAAA,IAAA,IAAA,CAAiC,IAAI;CAC3C,MAAM,QAAA,GAAA,IAAA,IAAA,CAAuB,CAAC,CAAC;CAC/B,MAAM,UAAA,GAAA,IAAA,IAAA,CAA2B,CAAC,CAAC;CACnC,MAAM,SAAA,GAAA,IAAA,IAAA,CAAuB,OAAO;CACpC,MAAM,cAAA,GAAA,IAAA,IAAA,CAAmC;EAAE,MAAM;EAAG,UAAU;CAAG,CAAC;CAElE,SAAS,OAAO,WAAiC,QAAmC;EAClF,IAAI,SAAS,OACX,SAAS,MAAM,QAAQ;EAGzB,SAAS,SAAA,GAAA,yBAAA,gBAAA,CAAwB;GAC/B;GACA,GAAG;EACL,CAAC;EAGD,SAAS,MAAM,GAAG,gBAAgB,YAAwB;GACxD,KAAK,QAAQ;EACf,CAAC;EACD,SAAS,MAAM,GAAG,kBAAkB,MAAoB;GACtD,OAAO,QAAQ;EACjB,CAAC;EACD,SAAS,MAAM,GAAG,iBAAiB,MAAiB;GAClD,MAAM,QAAQ;EAChB,CAAC;EACD,SAAS,MAAM,GAAG,qBAAqB;GACrC,IAAI,SAAS,OACX,WAAW,QAAQ,SAAS,MAAM,cAAc;EAEpD,CAAC;EAED,IAAI,QAAQ,MAAM,KAAK,QAAQ,OAAO;EACtC,IAAI,QAAQ,OAAO,MAAM,QAAQ,OAAO;EACxC,IAAI,QAAQ,QAAQ,OAAO,QAAQ,OAAO;CAC5C;CAEA,SAAS,QAAQ,SAAqB;EACpC,SAAS,OAAO,QAAQ,OAAO;EAC/B,KAAK,QAAQ;CACf;CAEA,SAAS,WAAW,SAAqB;EACvC,SAAS,OAAO,WAAW,OAAO;EAClC,KAAK,QAAQ,SAAS,OAAO,QAAQ,KAAK,CAAC;CAC7C;CAEA,SAAS,UAAU,GAAiB;EAClC,SAAS,OAAO,UAAU,CAAC;EAC3B,OAAO,QAAQ;CACjB;CAEA,SAAS,cAAc;EACrB,SAAS,OAAO,YAAY;EAC5B,OAAO,QAAQ,CAAC;CAClB;CAEA,SAAS,SAAS,GAAc;EAC9B,SAAS,OAAO,SAAS,CAAC;EAC1B,MAAM,QAAQ;CAChB;CAEA,SAAS,YAAY,IAAY;EAC/B,SAAS,OAAO,YAAY,EAAE;CAChC;CAEA,SAAS,cAAc,IAAY;EACjC,SAAS,OAAO,cAAc,EAAE;CAClC;CAEA,SAAS,cAAc;EACrB,SAAS,OAAO,YAAY;CAC9B;CAEA,SAAS,SAAS,MAAc;EAC9B,SAAS,OAAO,SAAS,IAAI;CAC/B;CAEA,SAAS,UAAU;EACjB,SAAS,OAAO,QAAQ;CAC1B;CAEA,SAAS,UAAU;EACjB,SAAS,OAAO,QAAQ;EACxB,SAAS,QAAQ;CACnB;CAEA,SAAS,GAAG,OAAe,UAAoD;EAC7E,OAAO,SAAS,OAAO,GAAG,OAAO,QAAQ,YAAY,CAAC;CACxD;CAEA,CAAA,GAAA,IAAA,YAAA,OAAkB;EAChB,QAAQ;CACV,CAAC;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -0,0 +1,116 @@
1
+ import { type LogViewer, type LogViewerConfig, type LogEntry, type FilterConfig, type ThemeMode, type PaginationConfig } from '@composy/log-viewer-core';
2
+ /**
3
+ * useLogViewer - use Log Viewer function
4
+ * @returns 返回值说明
5
+ */
6
+ export declare function useLogViewer(): {
7
+ instance: import("vue").Ref<{
8
+ getData: () => LogEntry[];
9
+ setData: (entries: LogEntry[]) => void;
10
+ appendData: (entries: LogEntry[]) => void;
11
+ getFilter: () => FilterConfig;
12
+ setFilter: (filter: FilterConfig) => void;
13
+ resetFilter: () => void;
14
+ getTheme: () => ThemeMode;
15
+ setTheme: (theme: ThemeMode) => void;
16
+ expandEntry: (id: string) => void;
17
+ collapseEntry: (id: string) => void;
18
+ collapseAll: () => void;
19
+ goToPage: (page: number) => void;
20
+ getPagination: () => PaginationConfig;
21
+ on: (event: string, callback: (...args: unknown[]) => void) => () => void;
22
+ refresh: () => void;
23
+ destroy: () => void;
24
+ }, LogViewer | {
25
+ getData: () => LogEntry[];
26
+ setData: (entries: LogEntry[]) => void;
27
+ appendData: (entries: LogEntry[]) => void;
28
+ getFilter: () => FilterConfig;
29
+ setFilter: (filter: FilterConfig) => void;
30
+ resetFilter: () => void;
31
+ getTheme: () => ThemeMode;
32
+ setTheme: (theme: ThemeMode) => void;
33
+ expandEntry: (id: string) => void;
34
+ collapseEntry: (id: string) => void;
35
+ collapseAll: () => void;
36
+ goToPage: (page: number) => void;
37
+ getPagination: () => PaginationConfig;
38
+ on: (event: string, callback: (...args: unknown[]) => void) => () => void;
39
+ refresh: () => void;
40
+ destroy: () => void;
41
+ }>;
42
+ data: import("vue").Ref<{
43
+ id: string;
44
+ timestamp: string | number | Date;
45
+ user: string;
46
+ userId?: string;
47
+ action: import("@composy/log-viewer-core").ActionType;
48
+ module: string;
49
+ detail?: string;
50
+ ip?: string;
51
+ changes?: {
52
+ field: string;
53
+ label?: string;
54
+ oldValue: unknown;
55
+ newValue: unknown;
56
+ }[];
57
+ metadata?: Record<string, unknown>;
58
+ anomaly?: import("@composy/log-viewer-core").AnomalyType;
59
+ }[], LogEntry[] | {
60
+ id: string;
61
+ timestamp: string | number | Date;
62
+ user: string;
63
+ userId?: string;
64
+ action: import("@composy/log-viewer-core").ActionType;
65
+ module: string;
66
+ detail?: string;
67
+ ip?: string;
68
+ changes?: {
69
+ field: string;
70
+ label?: string;
71
+ oldValue: unknown;
72
+ newValue: unknown;
73
+ }[];
74
+ metadata?: Record<string, unknown>;
75
+ anomaly?: import("@composy/log-viewer-core").AnomalyType;
76
+ }[]>;
77
+ filter: import("vue").Ref<{
78
+ user?: string;
79
+ action?: import("@composy/log-viewer-core").ActionType | import("@composy/log-viewer-core").ActionType[];
80
+ module?: string;
81
+ ip?: string;
82
+ timeRange?: [Date | string | number, Date | string | number];
83
+ keyword?: string;
84
+ }, FilterConfig | {
85
+ user?: string;
86
+ action?: import("@composy/log-viewer-core").ActionType | import("@composy/log-viewer-core").ActionType[];
87
+ module?: string;
88
+ ip?: string;
89
+ timeRange?: [Date | string | number, Date | string | number];
90
+ keyword?: string;
91
+ }>;
92
+ theme: import("vue").Ref<ThemeMode, ThemeMode>;
93
+ pagination: import("vue").Ref<{
94
+ page: number;
95
+ pageSize: number;
96
+ total?: number;
97
+ }, PaginationConfig | {
98
+ page: number;
99
+ pageSize: number;
100
+ total?: number;
101
+ }>;
102
+ create: (container: HTMLElement | string, config?: Partial<LogViewerConfig>) => void;
103
+ setData: (entries: LogEntry[]) => void;
104
+ appendData: (entries: LogEntry[]) => void;
105
+ setFilter: (f: FilterConfig) => void;
106
+ resetFilter: () => void;
107
+ setTheme: (t: ThemeMode) => void;
108
+ expandEntry: (id: string) => void;
109
+ collapseEntry: (id: string) => void;
110
+ collapseAll: () => void;
111
+ goToPage: (page: number) => void;
112
+ refresh: () => void;
113
+ destroy: () => void;
114
+ on: (event: string, callback: (...args: unknown[]) => void) => () => void;
115
+ };
116
+ //# sourceMappingURL=useLogViewer.d.ts.map
package/lib/index.cjs ADDED
@@ -0,0 +1,53 @@
1
+ /*!
2
+ * ***********************************
3
+ * @composy/log-viewer-vue v0.0.1 *
4
+ * Built with rollup *
5
+ * Build time: 2024-08-17 11:42:24 *
6
+ * Build mode: production *
7
+ * Minified: No *
8
+ * ***********************************
9
+ */
10
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
11
+ const require_useLogViewer = require("./composables/useLogViewer.cjs");
12
+ const require_LogViewer = require("./components/LogViewer.cjs");
13
+ const require_plugin = require("./plugin.cjs");
14
+ let _composy_log_viewer_core = require("@composy/log-viewer-core");
15
+ //#region src/index.ts
16
+ const VERSION = "0.1.0";
17
+ //#endregion
18
+ Object.defineProperty(exports, "ACTION_COLORS", {
19
+ enumerable: true,
20
+ get: function() {
21
+ return _composy_log_viewer_core.ACTION_COLORS;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "ACTION_LABELS", {
25
+ enumerable: true,
26
+ get: function() {
27
+ return _composy_log_viewer_core.ACTION_LABELS;
28
+ }
29
+ });
30
+ exports.LogViewer = require_LogViewer.default;
31
+ exports.LogViewerPlugin = require_plugin.LogViewerPlugin;
32
+ exports.VERSION = VERSION;
33
+ Object.defineProperty(exports, "createLogViewer", {
34
+ enumerable: true,
35
+ get: function() {
36
+ return _composy_log_viewer_core.createLogViewer;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "formatDate", {
40
+ enumerable: true,
41
+ get: function() {
42
+ return _composy_log_viewer_core.formatDate;
43
+ }
44
+ });
45
+ Object.defineProperty(exports, "formatRelativeTime", {
46
+ enumerable: true,
47
+ get: function() {
48
+ return _composy_log_viewer_core.formatRelativeTime;
49
+ }
50
+ });
51
+ exports.useLogViewer = require_useLogViewer.useLogViewer;
52
+ /*! End of @composy/log-viewer-vue | Powered by @composy/builder */
53
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/index.ts"],"sourcesContent":["/**\n * @composy/log-viewer-vue\n *\n * 审计日志查看器 — Vue 3 适配层\n * 提供 LogViewer 组件、useLogViewer 组合式函数和 Vue 插件\n *\n * @packageDocumentation\n */\n\nexport const VERSION = '0.1.0'\n\n// 组件\nexport { default as LogViewer } from './components/LogViewer.vue'\n\n// 组合式 API\nexport { useLogViewer } from './composables/useLogViewer'\n\n// 插件\nexport { LogViewerPlugin } from './plugin'\n\n// 重新导出核心类型\nexport type {\n ActionType,\n ThemeMode,\n AnomalyType,\n DiffEntry,\n LogEntry,\n FilterConfig,\n PaginationConfig,\n LogViewerConfig,\n LogViewerInstance,\n LogViewerEvents,\n} from '@composy/log-viewer-core'\n\nexport {\n createLogViewer,\n ACTION_LABELS,\n ACTION_COLORS,\n formatDate,\n formatRelativeTime,\n} from '@composy/log-viewer-core'\n"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,UAAU"}