@agile-team/mach-table-vue 0.4.0 → 0.5.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.
- package/README.md +57 -5
- package/dist/RobotGrid-2KWWM4C4.js +7 -0
- package/dist/RobotGrid-2KWWM4C4.js.map +1 -0
- package/dist/RobotGrid-LELHEO4W.cjs +7 -0
- package/dist/RobotGrid-LELHEO4W.cjs.map +1 -0
- package/dist/async.cjs +23 -0
- package/dist/async.cjs.map +1 -0
- package/dist/async.d.cts +21 -0
- package/dist/async.d.ts +21 -0
- package/dist/async.js +23 -0
- package/dist/async.js.map +1 -0
- package/dist/chunk-345ZEGIE.cjs +21 -0
- package/dist/chunk-345ZEGIE.cjs.map +1 -0
- package/dist/chunk-CHEQLQW4.js +78 -0
- package/dist/chunk-CHEQLQW4.js.map +1 -0
- package/dist/chunk-JJQDDIQU.js +21 -0
- package/dist/chunk-JJQDDIQU.js.map +1 -0
- package/dist/chunk-S3NR7DIG.cjs +78 -0
- package/dist/chunk-S3NR7DIG.cjs.map +1 -0
- package/dist/globalRegistration-CQ2dTNzy.d.cts +25 -0
- package/dist/globalRegistration-CQ2dTNzy.d.ts +25 -0
- package/dist/index.cjs +36 -122
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -11
- package/dist/index.d.ts +9 -11
- package/dist/index.js +20 -79
- package/dist/index.js.map +1 -1
- package/dist/mach-table.css +1384 -0
- package/dist/mach-table.css.d.ts +2 -0
- package/package.json +28 -7
package/dist/index.cjs
CHANGED
|
@@ -1,126 +1,40 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
19
2
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
vueDetailRenderer: () => vueDetailRenderer
|
|
30
|
-
});
|
|
31
|
-
module.exports = __toCommonJS(index_exports);
|
|
32
|
-
|
|
33
|
-
// src/RobotGrid.ts
|
|
34
|
-
var import_vue = require("vue");
|
|
35
|
-
var import_mach_table = require("@agile-team/mach-table");
|
|
36
|
-
var ADAPTER_OPTION_KEYS = import_mach_table.GRID_OPTION_KEYS.filter((key) => key !== "className");
|
|
37
|
-
var DIRECT_OPTION_KEYS = import_mach_table.DIRECT_GRID_OPTION_KEYS.filter((key) => key !== "className");
|
|
38
|
-
var runtimeProps = {};
|
|
39
|
-
for (const key of ADAPTER_OPTION_KEYS) {
|
|
40
|
-
const kind = import_mach_table.GRID_OPTION_META[key].kind;
|
|
41
|
-
const type = kind === "boolean" ? Boolean : kind === "number" ? Number : kind === "array" ? Array : kind === "function" ? Function : kind === "boolean-object" ? [Boolean, Object] : kind === "object" ? Object : kind === "string" ? String : void 0;
|
|
42
|
-
runtimeProps[key] = { ...type ? { type } : {}, default: void 0 };
|
|
43
|
-
}
|
|
44
|
-
runtimeProps.className = { type: String, default: void 0 };
|
|
45
|
-
runtimeProps.gridClassName = { type: String, default: void 0 };
|
|
46
|
-
function handlerNameOf(eventType) {
|
|
47
|
-
return "on" + eventType.charAt(0).toUpperCase() + eventType.slice(1);
|
|
48
|
-
}
|
|
49
|
-
var RobotGridImpl = (0, import_vue.defineComponent)({
|
|
50
|
-
name: "RobotGrid",
|
|
51
|
-
inheritAttrs: false,
|
|
52
|
-
props: runtimeProps,
|
|
53
|
-
emits: [...import_mach_table.EVENT_TYPES],
|
|
54
|
-
setup(rawProps, { expose, attrs, emit }) {
|
|
55
|
-
const props = rawProps;
|
|
56
|
-
const host = (0, import_vue.ref)(null);
|
|
57
|
-
let api = null;
|
|
58
|
-
(0, import_vue.onMounted)(() => {
|
|
59
|
-
if (!host.value) return;
|
|
60
|
-
const options = {};
|
|
61
|
-
for (const key of ADAPTER_OPTION_KEYS) {
|
|
62
|
-
const value = props[key];
|
|
63
|
-
if (value !== void 0) options[key] = value;
|
|
64
|
-
}
|
|
65
|
-
if (props.gridClassName !== void 0) options.className = props.gridClassName;
|
|
66
|
-
for (const type of import_mach_table.EVENT_TYPES) {
|
|
67
|
-
options[handlerNameOf(type)] = (event) => emit(type, event);
|
|
68
|
-
}
|
|
69
|
-
api = (0, import_mach_table.createGrid)(host.value, options);
|
|
70
|
-
});
|
|
71
|
-
(0, import_vue.onBeforeUnmount)(() => {
|
|
72
|
-
api?.destroy();
|
|
73
|
-
api = null;
|
|
74
|
-
});
|
|
75
|
-
(0, import_vue.watch)(() => props.rowData, (value) => api?.setRowData(value));
|
|
76
|
-
(0, import_vue.watch)(() => props.columnDefs, (value) => api?.setColumnDefs(value));
|
|
77
|
-
(0, import_vue.watch)(() => props.quickFilterText, (value) => api?.setQuickFilter(value));
|
|
78
|
-
(0, import_vue.watch)(() => props.gridClassName, (value) => api?.updateOptions({ className: value }));
|
|
79
|
-
(0, import_vue.watch)(
|
|
80
|
-
() => DIRECT_OPTION_KEYS.map((key) => props[key]),
|
|
81
|
-
(values, previous) => {
|
|
82
|
-
if (!api) return;
|
|
83
|
-
const changed = {};
|
|
84
|
-
values.forEach((value, index) => {
|
|
85
|
-
if (!Object.is(value, previous[index])) changed[DIRECT_OPTION_KEYS[index]] = value;
|
|
86
|
-
});
|
|
87
|
-
if (Object.keys(changed).length > 0) api.updateOptions(changed);
|
|
88
|
-
}
|
|
89
|
-
);
|
|
90
|
-
expose({ getApi: () => api });
|
|
91
|
-
return () => (0, import_vue.h)("div", {
|
|
92
|
-
...attrs,
|
|
93
|
-
ref: host,
|
|
94
|
-
class: ["mach-vue-host", props.className, attrs.class].filter(Boolean),
|
|
95
|
-
style: attrs.style
|
|
96
|
-
});
|
|
3
|
+
var _chunk345ZEGIEcjs = require('./chunk-345ZEGIE.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkS3NR7DIGcjs = require('./chunk-S3NR7DIG.cjs');
|
|
7
|
+
|
|
8
|
+
// src/plugin.ts
|
|
9
|
+
var MachTablePlugin = Object.freeze({
|
|
10
|
+
install(app, options = {}) {
|
|
11
|
+
_chunk345ZEGIEcjs.registerGlobalMachTable.call(void 0, app, _chunkS3NR7DIGcjs.RobotGrid, options);
|
|
97
12
|
}
|
|
98
13
|
});
|
|
99
|
-
var RobotGrid = RobotGridImpl;
|
|
100
14
|
|
|
101
15
|
// src/adapters.ts
|
|
102
|
-
var
|
|
16
|
+
var _vue = require('vue');
|
|
103
17
|
function resolveAppContext(explicit) {
|
|
104
18
|
if (explicit) return explicit;
|
|
105
19
|
try {
|
|
106
|
-
return (0,
|
|
107
|
-
} catch {
|
|
20
|
+
return _optionalChain([_vue.getCurrentInstance.call(void 0, ), 'optionalAccess', _ => _.appContext]);
|
|
21
|
+
} catch (e) {
|
|
108
22
|
return void 0;
|
|
109
23
|
}
|
|
110
24
|
}
|
|
111
25
|
function mountComponent(component, props, host, appContext) {
|
|
112
26
|
if (appContext) {
|
|
113
|
-
const vnode = (0,
|
|
27
|
+
const vnode = _vue.h.call(void 0, component, props);
|
|
114
28
|
vnode.appContext = appContext;
|
|
115
|
-
(0,
|
|
116
|
-
return () => (0,
|
|
29
|
+
_vue.render.call(void 0, vnode, host);
|
|
30
|
+
return () => _vue.render.call(void 0, null, host);
|
|
117
31
|
}
|
|
118
|
-
const app = (0,
|
|
32
|
+
const app = _vue.createApp.call(void 0, { render: () => _vue.h.call(void 0, component, props) });
|
|
119
33
|
app.mount(host);
|
|
120
34
|
return () => app.unmount();
|
|
121
35
|
}
|
|
122
36
|
function vueCellRenderer(component, options) {
|
|
123
|
-
const appContext = resolveAppContext(options
|
|
37
|
+
const appContext = resolveAppContext(_optionalChain([options, 'optionalAccess', _2 => _2.appContext]));
|
|
124
38
|
return (params) => {
|
|
125
39
|
const host = document.createElement("div");
|
|
126
40
|
host.className = "mach-cell-vue";
|
|
@@ -138,7 +52,7 @@ function vueCellRenderer(component, options) {
|
|
|
138
52
|
};
|
|
139
53
|
}
|
|
140
54
|
function vueDetailRenderer(component, options) {
|
|
141
|
-
const appContext = resolveAppContext(options
|
|
55
|
+
const appContext = resolveAppContext(_optionalChain([options, 'optionalAccess', _3 => _3.appContext]));
|
|
142
56
|
return (params) => {
|
|
143
57
|
const host = document.createElement("div");
|
|
144
58
|
host.style.height = "100%";
|
|
@@ -156,12 +70,12 @@ function vueDetailRenderer(component, options) {
|
|
|
156
70
|
}
|
|
157
71
|
|
|
158
72
|
// src/useMachTable.ts
|
|
159
|
-
|
|
73
|
+
|
|
160
74
|
function useMachTable() {
|
|
161
|
-
const componentRef = (0,
|
|
162
|
-
const api = (0,
|
|
163
|
-
const ready = (0,
|
|
164
|
-
(0,
|
|
75
|
+
const componentRef = _vue.ref.call(void 0, null);
|
|
76
|
+
const api = _vue.shallowRef.call(void 0, null);
|
|
77
|
+
const ready = _vue.shallowRef.call(void 0, false);
|
|
78
|
+
_vue.watch.call(void 0,
|
|
165
79
|
componentRef,
|
|
166
80
|
(comp) => {
|
|
167
81
|
if (comp && typeof comp.getApi === "function") {
|
|
@@ -174,7 +88,7 @@ function useMachTable() {
|
|
|
174
88
|
},
|
|
175
89
|
{ flush: "post" }
|
|
176
90
|
);
|
|
177
|
-
(0,
|
|
91
|
+
_vue.onScopeDispose.call(void 0, () => {
|
|
178
92
|
componentRef.value = null;
|
|
179
93
|
api.value = null;
|
|
180
94
|
ready.value = false;
|
|
@@ -183,15 +97,15 @@ function useMachTable() {
|
|
|
183
97
|
}
|
|
184
98
|
|
|
185
99
|
// src/index.ts
|
|
186
|
-
var
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
100
|
+
var _machtable = require('@agile-team/mach-table'); _createStarExport(_machtable);
|
|
101
|
+
var src_default = MachTablePlugin;
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
exports.MachTable = _chunkS3NR7DIGcjs.RobotGrid; exports.MachTablePlugin = MachTablePlugin; exports.RobotGrid = _chunkS3NR7DIGcjs.RobotGrid; exports.default = src_default; exports.useMachTable = useMachTable; exports.vueCellRenderer = vueCellRenderer; exports.vueDetailRenderer = vueDetailRenderer;
|
|
197
111
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/RobotGrid.ts","../src/adapters.ts","../src/useMachTable.ts"],"sourcesContent":["export { RobotGrid } from \"./RobotGrid\";\nexport { RobotGrid as MachTable } from \"./RobotGrid\";\nexport type { RobotGridVueProps } from \"./RobotGrid\";\nexport { vueCellRenderer, vueDetailRenderer } from \"./adapters\";\nexport { useMachTable } from \"./useMachTable\";\nexport type { UseMachTableReturn } from \"./useMachTable\";\nexport type { VueCellRendererProps } from \"./adapters\";\n\nexport type {\n GridApi,\n GridOptions,\n ColDef,\n RowNode,\n CellRendererParams,\n CellClickEvent,\n SelectionChangedEvent,\n CellValueChangedEvent,\n SortChangedEvent,\n FilterChangedEvent\n} from \"@agile-team/mach-table\";\n\nexport { createGrid, EVENT_TYPES } from \"@agile-team/mach-table\";\n","import { defineComponent, h, onBeforeUnmount, onMounted, ref, watch, type DefineComponent } from \"vue\";\nimport {\n createGrid,\n DIRECT_GRID_OPTION_KEYS,\n EVENT_TYPES,\n GRID_OPTION_KEYS,\n GRID_OPTION_META\n} from \"@agile-team/mach-table\";\nimport type { GridApi, GridOptions } from \"@agile-team/mach-table\";\n\nexport type RobotGridVueProps<TData = any> = Omit<GridOptions<TData>, \"className\"> & {\n /** CSS class applied to the Vue host element. */\n className?: string;\n /** CSS class forwarded to MachTable's inner grid root. */\n gridClassName?: string;\n};\n\nconst ADAPTER_OPTION_KEYS = GRID_OPTION_KEYS.filter((key) => key !== \"className\");\nconst DIRECT_OPTION_KEYS = DIRECT_GRID_OPTION_KEYS.filter((key) => key !== \"className\");\n\nconst runtimeProps: Record<string, { type?: any; default: undefined }> = {};\nfor (const key of ADAPTER_OPTION_KEYS) {\n const kind = GRID_OPTION_META[key].kind;\n const type = kind === \"boolean\"\n ? Boolean\n : kind === \"number\"\n ? Number\n : kind === \"array\"\n ? Array\n : kind === \"function\"\n ? Function\n : kind === \"boolean-object\"\n ? [Boolean, Object]\n : kind === \"object\"\n ? Object\n : kind === \"string\"\n ? String\n : undefined;\n runtimeProps[key] = { ...(type ? { type } : {}), default: undefined };\n}\nruntimeProps.className = { type: String, default: undefined };\nruntimeProps.gridClassName = { type: String, default: undefined };\n\nfunction handlerNameOf(eventType: string): string {\n return \"on\" + eventType.charAt(0).toUpperCase() + eventType.slice(1);\n}\n\nconst RobotGridImpl = defineComponent({\n name: \"RobotGrid\",\n inheritAttrs: false,\n props: runtimeProps,\n emits: [...EVENT_TYPES] as unknown as string[],\n setup(rawProps, { expose, attrs, emit }) {\n const props = rawProps as Readonly<Record<string, any>>;\n const host = ref<HTMLDivElement | null>(null);\n let api: GridApi | null = null;\n\n onMounted(() => {\n if (!host.value) return;\n const options: Record<string, unknown> = {};\n for (const key of ADAPTER_OPTION_KEYS) {\n const value = props[key];\n if (value !== undefined) options[key] = value;\n }\n if (props.gridClassName !== undefined) options.className = props.gridClassName;\n for (const type of EVENT_TYPES) {\n options[handlerNameOf(type)] = (event: unknown) => emit(type, event);\n }\n api = createGrid(host.value, options as GridOptions<any>);\n });\n\n onBeforeUnmount(() => {\n api?.destroy();\n api = null;\n });\n\n watch(() => props.rowData, (value) => api?.setRowData(value));\n watch(() => props.columnDefs, (value) => api?.setColumnDefs(value));\n watch(() => props.quickFilterText, (value) => api?.setQuickFilter(value));\n watch(() => props.gridClassName, (value) => api?.updateOptions({ className: value }));\n\n watch(\n () => DIRECT_OPTION_KEYS.map((key) => props[key]),\n (values, previous) => {\n if (!api) return;\n const changed: Record<string, unknown> = {};\n values.forEach((value, index) => {\n if (!Object.is(value, previous[index])) changed[DIRECT_OPTION_KEYS[index]] = value;\n });\n if (Object.keys(changed).length > 0) api.updateOptions(changed as Partial<GridOptions<any>>);\n }\n );\n\n expose({ getApi: (): GridApi | null => api });\n\n return () => h(\"div\", {\n ...attrs,\n ref: host,\n class: [\"mach-vue-host\", props.className, attrs.class].filter(Boolean),\n style: attrs.style\n });\n }\n});\n\nexport const RobotGrid = RobotGridImpl as unknown as DefineComponent<RobotGridVueProps<any>>;\n","import { createApp, h, render, getCurrentInstance, type AppContext, type Component } from \"vue\";\nimport type { CellRendererParams, CellRendererFn, DetailRowRendererParams } from \"@agile-team/mach-table\";\n\nexport type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;\n\n/**\n * 解析适配器可用的 appContext:\n * 1. 显式传入优先;\n * 2. 否则在 <script setup> 内同步调用工厂时自动捕获宿主组件上下文\n * (使单元格/明细内的 naive、EP 组件继承 ConfigProvider 的主题与国际化)。\n */\nfunction resolveAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try {\n return getCurrentInstance()?.appContext;\n } catch {\n return undefined;\n }\n}\n\nfunction mountComponent(\n component: Component,\n props: Record<string, any>,\n host: HTMLElement,\n appContext?: AppContext\n): () => void {\n if (appContext) {\n const vnode = h(component, props);\n vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n }\n const app = createApp({ render: () => h(component, props) });\n app.mount(host);\n return () => app.unmount();\n}\n\nexport function vueCellRenderer<TData = any, TValue = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): CellRendererFn {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellRendererParams<TData, TValue>) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue\";\n host.style.width = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n window.setTimeout(unmount, 0);\n }\n };\n };\n}\n\nexport function vueDetailRenderer<TData = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): (params: DetailRowRendererParams<TData>) => { el: HTMLElement; destroy?: () => void } {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.style.height = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n","import { onScopeDispose, ref, shallowRef, watch, type Ref, type ShallowRef } from \"vue\";\nimport type { GridApi } from \"@agile-team/mach-table\";\n\nexport interface UseMachTableReturn<TData = any> {\n ref: Ref<any>;\n api: ShallowRef<GridApi<TData> | null>;\n ready: ShallowRef<boolean>;\n}\n\nexport function useMachTable<TData = any>(): UseMachTableReturn<TData> {\n const componentRef = ref<any>(null);\n const api = shallowRef<GridApi<TData> | null>(null);\n const ready = shallowRef(false);\n\n watch(\n componentRef,\n (comp) => {\n if (comp && typeof comp.getApi === \"function\") {\n api.value = comp.getApi();\n ready.value = api.value != null;\n } else {\n api.value = null;\n ready.value = false;\n }\n },\n { flush: \"post\" }\n );\n\n onScopeDispose(() => {\n componentRef.value = null;\n api.value = null;\n ready.value = false;\n });\n\n return { ref: componentRef, api, ready };\n}\n"],"mappings":"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","names":["import_vue","import_vue","import_mach_table"]}
|
|
1
|
+
{"version":3,"sources":["d:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\index.cjs"],"names":[],"mappings":"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","file":"D:\\office-project\\wl\\MachTable\\packages\\vue\\dist\\index.cjs","sourcesContent":[null]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { M as MachTablePluginOptions } from './globalRegistration-CQ2dTNzy.cjs';
|
|
2
|
+
export { a as MachTable, a as RobotGrid, R as RobotGridVueProps } from './globalRegistration-CQ2dTNzy.cjs';
|
|
3
|
+
import { App, Component, AppContext, Ref, ShallowRef } from 'vue';
|
|
4
|
+
import { CellRendererParams, CellRendererFn, DetailRowRendererParams, GridApi } from '@agile-team/mach-table';
|
|
5
|
+
export * from '@agile-team/mach-table';
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** CSS class forwarded to MachTable's inner grid root. */
|
|
9
|
-
gridClassName?: string;
|
|
10
|
-
};
|
|
11
|
-
declare const RobotGrid: DefineComponent<RobotGridVueProps<any>>;
|
|
7
|
+
declare const MachTablePlugin: Readonly<{
|
|
8
|
+
install(app: App, options?: MachTablePluginOptions): void;
|
|
9
|
+
}>;
|
|
12
10
|
|
|
13
11
|
type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;
|
|
14
12
|
declare function vueCellRenderer<TData = any, TValue = any>(component: Component, options?: {
|
|
@@ -28,4 +26,4 @@ interface UseMachTableReturn<TData = any> {
|
|
|
28
26
|
}
|
|
29
27
|
declare function useMachTable<TData = any>(): UseMachTableReturn<TData>;
|
|
30
28
|
|
|
31
|
-
export {
|
|
29
|
+
export { MachTablePlugin, MachTablePluginOptions, type UseMachTableReturn, type VueCellRendererProps, MachTablePlugin as default, useMachTable, vueCellRenderer, vueDetailRenderer };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { M as MachTablePluginOptions } from './globalRegistration-CQ2dTNzy.js';
|
|
2
|
+
export { a as MachTable, a as RobotGrid, R as RobotGridVueProps } from './globalRegistration-CQ2dTNzy.js';
|
|
3
|
+
import { App, Component, AppContext, Ref, ShallowRef } from 'vue';
|
|
4
|
+
import { CellRendererParams, CellRendererFn, DetailRowRendererParams, GridApi } from '@agile-team/mach-table';
|
|
5
|
+
export * from '@agile-team/mach-table';
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** CSS class forwarded to MachTable's inner grid root. */
|
|
9
|
-
gridClassName?: string;
|
|
10
|
-
};
|
|
11
|
-
declare const RobotGrid: DefineComponent<RobotGridVueProps<any>>;
|
|
7
|
+
declare const MachTablePlugin: Readonly<{
|
|
8
|
+
install(app: App, options?: MachTablePluginOptions): void;
|
|
9
|
+
}>;
|
|
12
10
|
|
|
13
11
|
type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;
|
|
14
12
|
declare function vueCellRenderer<TData = any, TValue = any>(component: Component, options?: {
|
|
@@ -28,4 +26,4 @@ interface UseMachTableReturn<TData = any> {
|
|
|
28
26
|
}
|
|
29
27
|
declare function useMachTable<TData = any>(): UseMachTableReturn<TData>;
|
|
30
28
|
|
|
31
|
-
export {
|
|
29
|
+
export { MachTablePlugin, MachTablePluginOptions, type UseMachTableReturn, type VueCellRendererProps, MachTablePlugin as default, useMachTable, vueCellRenderer, vueDetailRenderer };
|
package/dist/index.js
CHANGED
|
@@ -1,79 +1,19 @@
|
|
|
1
|
-
// src/RobotGrid.ts
|
|
2
|
-
import { defineComponent, h, onBeforeUnmount, onMounted, ref, watch } from "vue";
|
|
3
1
|
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const kind = GRID_OPTION_META[key].kind;
|
|
15
|
-
const type = kind === "boolean" ? Boolean : kind === "number" ? Number : kind === "array" ? Array : kind === "function" ? Function : kind === "boolean-object" ? [Boolean, Object] : kind === "object" ? Object : kind === "string" ? String : void 0;
|
|
16
|
-
runtimeProps[key] = { ...type ? { type } : {}, default: void 0 };
|
|
17
|
-
}
|
|
18
|
-
runtimeProps.className = { type: String, default: void 0 };
|
|
19
|
-
runtimeProps.gridClassName = { type: String, default: void 0 };
|
|
20
|
-
function handlerNameOf(eventType) {
|
|
21
|
-
return "on" + eventType.charAt(0).toUpperCase() + eventType.slice(1);
|
|
22
|
-
}
|
|
23
|
-
var RobotGridImpl = defineComponent({
|
|
24
|
-
name: "RobotGrid",
|
|
25
|
-
inheritAttrs: false,
|
|
26
|
-
props: runtimeProps,
|
|
27
|
-
emits: [...EVENT_TYPES],
|
|
28
|
-
setup(rawProps, { expose, attrs, emit }) {
|
|
29
|
-
const props = rawProps;
|
|
30
|
-
const host = ref(null);
|
|
31
|
-
let api = null;
|
|
32
|
-
onMounted(() => {
|
|
33
|
-
if (!host.value) return;
|
|
34
|
-
const options = {};
|
|
35
|
-
for (const key of ADAPTER_OPTION_KEYS) {
|
|
36
|
-
const value = props[key];
|
|
37
|
-
if (value !== void 0) options[key] = value;
|
|
38
|
-
}
|
|
39
|
-
if (props.gridClassName !== void 0) options.className = props.gridClassName;
|
|
40
|
-
for (const type of EVENT_TYPES) {
|
|
41
|
-
options[handlerNameOf(type)] = (event) => emit(type, event);
|
|
42
|
-
}
|
|
43
|
-
api = createGrid(host.value, options);
|
|
44
|
-
});
|
|
45
|
-
onBeforeUnmount(() => {
|
|
46
|
-
api?.destroy();
|
|
47
|
-
api = null;
|
|
48
|
-
});
|
|
49
|
-
watch(() => props.rowData, (value) => api?.setRowData(value));
|
|
50
|
-
watch(() => props.columnDefs, (value) => api?.setColumnDefs(value));
|
|
51
|
-
watch(() => props.quickFilterText, (value) => api?.setQuickFilter(value));
|
|
52
|
-
watch(() => props.gridClassName, (value) => api?.updateOptions({ className: value }));
|
|
53
|
-
watch(
|
|
54
|
-
() => DIRECT_OPTION_KEYS.map((key) => props[key]),
|
|
55
|
-
(values, previous) => {
|
|
56
|
-
if (!api) return;
|
|
57
|
-
const changed = {};
|
|
58
|
-
values.forEach((value, index) => {
|
|
59
|
-
if (!Object.is(value, previous[index])) changed[DIRECT_OPTION_KEYS[index]] = value;
|
|
60
|
-
});
|
|
61
|
-
if (Object.keys(changed).length > 0) api.updateOptions(changed);
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
expose({ getApi: () => api });
|
|
65
|
-
return () => h("div", {
|
|
66
|
-
...attrs,
|
|
67
|
-
ref: host,
|
|
68
|
-
class: ["mach-vue-host", props.className, attrs.class].filter(Boolean),
|
|
69
|
-
style: attrs.style
|
|
70
|
-
});
|
|
2
|
+
registerGlobalMachTable
|
|
3
|
+
} from "./chunk-JJQDDIQU.js";
|
|
4
|
+
import {
|
|
5
|
+
RobotGrid
|
|
6
|
+
} from "./chunk-CHEQLQW4.js";
|
|
7
|
+
|
|
8
|
+
// src/plugin.ts
|
|
9
|
+
var MachTablePlugin = Object.freeze({
|
|
10
|
+
install(app, options = {}) {
|
|
11
|
+
registerGlobalMachTable(app, RobotGrid, options);
|
|
71
12
|
}
|
|
72
13
|
});
|
|
73
|
-
var RobotGrid = RobotGridImpl;
|
|
74
14
|
|
|
75
15
|
// src/adapters.ts
|
|
76
|
-
import { createApp, h
|
|
16
|
+
import { createApp, h, render, getCurrentInstance } from "vue";
|
|
77
17
|
function resolveAppContext(explicit) {
|
|
78
18
|
if (explicit) return explicit;
|
|
79
19
|
try {
|
|
@@ -84,12 +24,12 @@ function resolveAppContext(explicit) {
|
|
|
84
24
|
}
|
|
85
25
|
function mountComponent(component, props, host, appContext) {
|
|
86
26
|
if (appContext) {
|
|
87
|
-
const vnode =
|
|
27
|
+
const vnode = h(component, props);
|
|
88
28
|
vnode.appContext = appContext;
|
|
89
29
|
render(vnode, host);
|
|
90
30
|
return () => render(null, host);
|
|
91
31
|
}
|
|
92
|
-
const app = createApp({ render: () =>
|
|
32
|
+
const app = createApp({ render: () => h(component, props) });
|
|
93
33
|
app.mount(host);
|
|
94
34
|
return () => app.unmount();
|
|
95
35
|
}
|
|
@@ -130,12 +70,12 @@ function vueDetailRenderer(component, options) {
|
|
|
130
70
|
}
|
|
131
71
|
|
|
132
72
|
// src/useMachTable.ts
|
|
133
|
-
import { onScopeDispose, ref
|
|
73
|
+
import { onScopeDispose, ref, shallowRef, watch } from "vue";
|
|
134
74
|
function useMachTable() {
|
|
135
|
-
const componentRef =
|
|
75
|
+
const componentRef = ref(null);
|
|
136
76
|
const api = shallowRef(null);
|
|
137
77
|
const ready = shallowRef(false);
|
|
138
|
-
|
|
78
|
+
watch(
|
|
139
79
|
componentRef,
|
|
140
80
|
(comp) => {
|
|
141
81
|
if (comp && typeof comp.getApi === "function") {
|
|
@@ -157,12 +97,13 @@ function useMachTable() {
|
|
|
157
97
|
}
|
|
158
98
|
|
|
159
99
|
// src/index.ts
|
|
160
|
-
|
|
100
|
+
export * from "@agile-team/mach-table";
|
|
101
|
+
var src_default = MachTablePlugin;
|
|
161
102
|
export {
|
|
162
|
-
EVENT_TYPES2 as EVENT_TYPES,
|
|
163
103
|
RobotGrid as MachTable,
|
|
104
|
+
MachTablePlugin,
|
|
164
105
|
RobotGrid,
|
|
165
|
-
|
|
106
|
+
src_default as default,
|
|
166
107
|
useMachTable,
|
|
167
108
|
vueCellRenderer,
|
|
168
109
|
vueDetailRenderer
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/RobotGrid.ts","../src/adapters.ts","../src/useMachTable.ts","../src/index.ts"],"sourcesContent":["import { defineComponent, h, onBeforeUnmount, onMounted, ref, watch, type DefineComponent } from \"vue\";\nimport {\n createGrid,\n DIRECT_GRID_OPTION_KEYS,\n EVENT_TYPES,\n GRID_OPTION_KEYS,\n GRID_OPTION_META\n} from \"@agile-team/mach-table\";\nimport type { GridApi, GridOptions } from \"@agile-team/mach-table\";\n\nexport type RobotGridVueProps<TData = any> = Omit<GridOptions<TData>, \"className\"> & {\n /** CSS class applied to the Vue host element. */\n className?: string;\n /** CSS class forwarded to MachTable's inner grid root. */\n gridClassName?: string;\n};\n\nconst ADAPTER_OPTION_KEYS = GRID_OPTION_KEYS.filter((key) => key !== \"className\");\nconst DIRECT_OPTION_KEYS = DIRECT_GRID_OPTION_KEYS.filter((key) => key !== \"className\");\n\nconst runtimeProps: Record<string, { type?: any; default: undefined }> = {};\nfor (const key of ADAPTER_OPTION_KEYS) {\n const kind = GRID_OPTION_META[key].kind;\n const type = kind === \"boolean\"\n ? Boolean\n : kind === \"number\"\n ? Number\n : kind === \"array\"\n ? Array\n : kind === \"function\"\n ? Function\n : kind === \"boolean-object\"\n ? [Boolean, Object]\n : kind === \"object\"\n ? Object\n : kind === \"string\"\n ? String\n : undefined;\n runtimeProps[key] = { ...(type ? { type } : {}), default: undefined };\n}\nruntimeProps.className = { type: String, default: undefined };\nruntimeProps.gridClassName = { type: String, default: undefined };\n\nfunction handlerNameOf(eventType: string): string {\n return \"on\" + eventType.charAt(0).toUpperCase() + eventType.slice(1);\n}\n\nconst RobotGridImpl = defineComponent({\n name: \"RobotGrid\",\n inheritAttrs: false,\n props: runtimeProps,\n emits: [...EVENT_TYPES] as unknown as string[],\n setup(rawProps, { expose, attrs, emit }) {\n const props = rawProps as Readonly<Record<string, any>>;\n const host = ref<HTMLDivElement | null>(null);\n let api: GridApi | null = null;\n\n onMounted(() => {\n if (!host.value) return;\n const options: Record<string, unknown> = {};\n for (const key of ADAPTER_OPTION_KEYS) {\n const value = props[key];\n if (value !== undefined) options[key] = value;\n }\n if (props.gridClassName !== undefined) options.className = props.gridClassName;\n for (const type of EVENT_TYPES) {\n options[handlerNameOf(type)] = (event: unknown) => emit(type, event);\n }\n api = createGrid(host.value, options as GridOptions<any>);\n });\n\n onBeforeUnmount(() => {\n api?.destroy();\n api = null;\n });\n\n watch(() => props.rowData, (value) => api?.setRowData(value));\n watch(() => props.columnDefs, (value) => api?.setColumnDefs(value));\n watch(() => props.quickFilterText, (value) => api?.setQuickFilter(value));\n watch(() => props.gridClassName, (value) => api?.updateOptions({ className: value }));\n\n watch(\n () => DIRECT_OPTION_KEYS.map((key) => props[key]),\n (values, previous) => {\n if (!api) return;\n const changed: Record<string, unknown> = {};\n values.forEach((value, index) => {\n if (!Object.is(value, previous[index])) changed[DIRECT_OPTION_KEYS[index]] = value;\n });\n if (Object.keys(changed).length > 0) api.updateOptions(changed as Partial<GridOptions<any>>);\n }\n );\n\n expose({ getApi: (): GridApi | null => api });\n\n return () => h(\"div\", {\n ...attrs,\n ref: host,\n class: [\"mach-vue-host\", props.className, attrs.class].filter(Boolean),\n style: attrs.style\n });\n }\n});\n\nexport const RobotGrid = RobotGridImpl as unknown as DefineComponent<RobotGridVueProps<any>>;\n","import { createApp, h, render, getCurrentInstance, type AppContext, type Component } from \"vue\";\nimport type { CellRendererParams, CellRendererFn, DetailRowRendererParams } from \"@agile-team/mach-table\";\n\nexport type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;\n\n/**\n * 解析适配器可用的 appContext:\n * 1. 显式传入优先;\n * 2. 否则在 <script setup> 内同步调用工厂时自动捕获宿主组件上下文\n * (使单元格/明细内的 naive、EP 组件继承 ConfigProvider 的主题与国际化)。\n */\nfunction resolveAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try {\n return getCurrentInstance()?.appContext;\n } catch {\n return undefined;\n }\n}\n\nfunction mountComponent(\n component: Component,\n props: Record<string, any>,\n host: HTMLElement,\n appContext?: AppContext\n): () => void {\n if (appContext) {\n const vnode = h(component, props);\n vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n }\n const app = createApp({ render: () => h(component, props) });\n app.mount(host);\n return () => app.unmount();\n}\n\nexport function vueCellRenderer<TData = any, TValue = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): CellRendererFn {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellRendererParams<TData, TValue>) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue\";\n host.style.width = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n window.setTimeout(unmount, 0);\n }\n };\n };\n}\n\nexport function vueDetailRenderer<TData = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): (params: DetailRowRendererParams<TData>) => { el: HTMLElement; destroy?: () => void } {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.style.height = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n","import { onScopeDispose, ref, shallowRef, watch, type Ref, type ShallowRef } from \"vue\";\nimport type { GridApi } from \"@agile-team/mach-table\";\n\nexport interface UseMachTableReturn<TData = any> {\n ref: Ref<any>;\n api: ShallowRef<GridApi<TData> | null>;\n ready: ShallowRef<boolean>;\n}\n\nexport function useMachTable<TData = any>(): UseMachTableReturn<TData> {\n const componentRef = ref<any>(null);\n const api = shallowRef<GridApi<TData> | null>(null);\n const ready = shallowRef(false);\n\n watch(\n componentRef,\n (comp) => {\n if (comp && typeof comp.getApi === \"function\") {\n api.value = comp.getApi();\n ready.value = api.value != null;\n } else {\n api.value = null;\n ready.value = false;\n }\n },\n { flush: \"post\" }\n );\n\n onScopeDispose(() => {\n componentRef.value = null;\n api.value = null;\n ready.value = false;\n });\n\n return { ref: componentRef, api, ready };\n}\n","export { RobotGrid } from \"./RobotGrid\";\nexport { RobotGrid as MachTable } from \"./RobotGrid\";\nexport type { RobotGridVueProps } from \"./RobotGrid\";\nexport { vueCellRenderer, vueDetailRenderer } from \"./adapters\";\nexport { useMachTable } from \"./useMachTable\";\nexport type { UseMachTableReturn } from \"./useMachTable\";\nexport type { VueCellRendererProps } from \"./adapters\";\n\nexport type {\n GridApi,\n GridOptions,\n ColDef,\n RowNode,\n CellRendererParams,\n CellClickEvent,\n SelectionChangedEvent,\n CellValueChangedEvent,\n SortChangedEvent,\n FilterChangedEvent\n} from \"@agile-team/mach-table\";\n\nexport { createGrid, EVENT_TYPES } from \"@agile-team/mach-table\";\n"],"mappings":"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","names":["h","ref","watch","createGrid","EVENT_TYPES"]}
|
|
1
|
+
{"version":3,"sources":["../src/plugin.ts","../src/adapters.ts","../src/useMachTable.ts","../src/index.ts"],"sourcesContent":["import type { App } from \"vue\";\nimport { RobotGrid } from \"./RobotGrid\";\nimport { registerGlobalMachTable, type MachTablePluginOptions } from \"./globalRegistration\";\n\nexport const MachTablePlugin = Object.freeze({\n install(app: App, options: MachTablePluginOptions = {}): void {\n registerGlobalMachTable(app, RobotGrid, options);\n }\n});\n\nexport type { MachTablePluginOptions } from \"./globalRegistration\";\n","import { createApp, h, render, getCurrentInstance, type AppContext, type Component } from \"vue\";\nimport type { CellRendererParams, CellRendererFn, DetailRowRendererParams } from \"@agile-team/mach-table\";\n\nexport type VueCellRendererProps<TData = any, TValue = any> = CellRendererParams<TData, TValue>;\n\n/**\n * 解析适配器可用的 appContext:\n * 1. 显式传入优先;\n * 2. 否则在 <script setup> 内同步调用工厂时自动捕获宿主组件上下文\n * (使单元格/明细内的 naive、EP 组件继承 ConfigProvider 的主题与国际化)。\n */\nfunction resolveAppContext(explicit?: AppContext): AppContext | undefined {\n if (explicit) return explicit;\n try {\n return getCurrentInstance()?.appContext;\n } catch {\n return undefined;\n }\n}\n\nfunction mountComponent(\n component: Component,\n props: Record<string, any>,\n host: HTMLElement,\n appContext?: AppContext\n): () => void {\n if (appContext) {\n const vnode = h(component, props);\n vnode.appContext = appContext;\n render(vnode, host);\n return () => render(null, host);\n }\n const app = createApp({ render: () => h(component, props) });\n app.mount(host);\n return () => app.unmount();\n}\n\nexport function vueCellRenderer<TData = any, TValue = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): CellRendererFn {\n const appContext = resolveAppContext(options?.appContext);\n return (params: CellRendererParams<TData, TValue>) => {\n const host = document.createElement(\"div\");\n host.className = \"mach-cell-vue\";\n host.style.width = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n window.setTimeout(unmount, 0);\n }\n };\n };\n}\n\nexport function vueDetailRenderer<TData = any>(\n component: Component,\n options?: { appContext?: AppContext }\n): (params: DetailRowRendererParams<TData>) => { el: HTMLElement; destroy?: () => void } {\n const appContext = resolveAppContext(options?.appContext);\n return (params) => {\n const host = document.createElement(\"div\");\n host.style.height = \"100%\";\n const unmount = mountComponent(component, params as Record<string, any>, host, appContext);\n let destroyed = false;\n return {\n el: host,\n destroy: () => {\n if (destroyed) return;\n destroyed = true;\n unmount();\n }\n };\n };\n}\n","import { onScopeDispose, ref, shallowRef, watch, type Ref, type ShallowRef } from \"vue\";\nimport type { GridApi } from \"@agile-team/mach-table\";\n\nexport interface UseMachTableReturn<TData = any> {\n ref: Ref<any>;\n api: ShallowRef<GridApi<TData> | null>;\n ready: ShallowRef<boolean>;\n}\n\nexport function useMachTable<TData = any>(): UseMachTableReturn<TData> {\n const componentRef = ref<any>(null);\n const api = shallowRef<GridApi<TData> | null>(null);\n const ready = shallowRef(false);\n\n watch(\n componentRef,\n (comp) => {\n if (comp && typeof comp.getApi === \"function\") {\n api.value = comp.getApi();\n ready.value = api.value != null;\n } else {\n api.value = null;\n ready.value = false;\n }\n },\n { flush: \"post\" }\n );\n\n onScopeDispose(() => {\n componentRef.value = null;\n api.value = null;\n ready.value = false;\n });\n\n return { ref: componentRef, api, ready };\n}\n","import { RobotGrid } from \"./RobotGrid\";\nimport { MachTablePlugin } from \"./plugin\";\n\nexport { RobotGrid };\nexport { RobotGrid as MachTable };\nexport type { RobotGridVueProps } from \"./RobotGrid\";\nexport { vueCellRenderer, vueDetailRenderer } from \"./adapters\";\nexport { useMachTable } from \"./useMachTable\";\nexport type { UseMachTableReturn } from \"./useMachTable\";\nexport type { VueCellRendererProps } from \"./adapters\";\nexport { MachTablePlugin } from \"./plugin\";\nexport type { MachTablePluginOptions } from \"./plugin\";\nexport * from \"@agile-team/mach-table\";\n\nexport default MachTablePlugin;\n"],"mappings":";;;;;;;;AAIO,IAAM,kBAAkB,OAAO,OAAO;AAAA,EAC3C,QAAQ,KAAU,UAAkC,CAAC,GAAS;AAC5D,4BAAwB,KAAK,WAAW,OAAO;AAAA,EACjD;AACF,CAAC;;;ACRD,SAAS,WAAW,GAAG,QAAQ,0BAA2D;AAW1F,SAAS,kBAAkB,UAA+C;AACxE,MAAI,SAAU,QAAO;AACrB,MAAI;AACF,WAAO,mBAAmB,GAAG;AAAA,EAC/B,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,SAAS,eACP,WACA,OACA,MACA,YACY;AACZ,MAAI,YAAY;AACd,UAAM,QAAQ,EAAE,WAAW,KAAK;AAChC,UAAM,aAAa;AACnB,WAAO,OAAO,IAAI;AAClB,WAAO,MAAM,OAAO,MAAM,IAAI;AAAA,EAChC;AACA,QAAM,MAAM,UAAU,EAAE,QAAQ,MAAM,EAAE,WAAW,KAAK,EAAE,CAAC;AAC3D,MAAI,MAAM,IAAI;AACd,SAAO,MAAM,IAAI,QAAQ;AAC3B;AAEO,SAAS,gBACd,WACA,SACgB;AAChB,QAAM,aAAa,kBAAkB,SAAS,UAAU;AACxD,SAAO,CAAC,WAA8C;AACpD,UAAM,OAAO,SAAS,cAAc,KAAK;AACzC,SAAK,YAAY;AACjB,SAAK,MAAM,QAAQ;AACnB,UAAM,UAAU,eAAe,WAAW,QAA+B,MAAM,UAAU;AACzF,QAAI,YAAY;AAChB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,MAAM;AACb,YAAI,UAAW;AACf,oBAAY;AACZ,eAAO,WAAW,SAAS,CAAC;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,kBACd,WACA,SACuF;AACvF,QAAM,aAAa,kBAAkB,SAAS,UAAU;AACxD,SAAO,CAAC,WAAW;AACjB,UAAM,OAAO,SAAS,cAAc,KAAK;AACzC,SAAK,MAAM,SAAS;AACpB,UAAM,UAAU,eAAe,WAAW,QAA+B,MAAM,UAAU;AACzF,QAAI,YAAY;AAChB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,SAAS,MAAM;AACb,YAAI,UAAW;AACf,oBAAY;AACZ,gBAAQ;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;;;AC9EA,SAAS,gBAAgB,KAAK,YAAY,aAAwC;AAS3E,SAAS,eAAuD;AACrE,QAAM,eAAe,IAAS,IAAI;AAClC,QAAM,MAAM,WAAkC,IAAI;AAClD,QAAM,QAAQ,WAAW,KAAK;AAE9B;AAAA,IACE;AAAA,IACA,CAAC,SAAS;AACR,UAAI,QAAQ,OAAO,KAAK,WAAW,YAAY;AAC7C,YAAI,QAAQ,KAAK,OAAO;AACxB,cAAM,QAAQ,IAAI,SAAS;AAAA,MAC7B,OAAO;AACL,YAAI,QAAQ;AACZ,cAAM,QAAQ;AAAA,MAChB;AAAA,IACF;AAAA,IACA,EAAE,OAAO,OAAO;AAAA,EAClB;AAEA,iBAAe,MAAM;AACnB,iBAAa,QAAQ;AACrB,QAAI,QAAQ;AACZ,UAAM,QAAQ;AAAA,EAChB,CAAC;AAED,SAAO,EAAE,KAAK,cAAc,KAAK,MAAM;AACzC;;;ACvBA,cAAc;AAEd,IAAO,cAAQ;","names":[]}
|