@oinone/kunlun-vue-widget 6.2.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 (63) hide show
  1. package/dist/oinone-kunlun-vue-widget.esm.js +16 -0
  2. package/dist/types/index.d.ts +1 -0
  3. package/dist/types/src/basic/AsyncVueWidget.d.ts +7 -0
  4. package/dist/types/src/basic/VueFragment.vue.d.ts +2 -0
  5. package/dist/types/src/basic/VueWidget.d.ts +331 -0
  6. package/dist/types/src/basic/Widget.d.ts +234 -0
  7. package/dist/types/src/basic/index.d.ts +3 -0
  8. package/dist/types/src/data/ActiveRecordsWidget.d.ts +246 -0
  9. package/dist/types/src/data/PathWidget.d.ts +34 -0
  10. package/dist/types/src/data/index.d.ts +2 -0
  11. package/dist/types/src/dsl/DslDefinitionWidget.d.ts +61 -0
  12. package/dist/types/src/dsl/DslNodeWidget.d.ts +42 -0
  13. package/dist/types/src/dsl/DslRenderWidget.d.ts +44 -0
  14. package/dist/types/src/dsl/index.d.ts +3 -0
  15. package/dist/types/src/feature/index.d.ts +1 -0
  16. package/dist/types/src/feature/invisible-supported.d.ts +11 -0
  17. package/dist/types/src/hooks/all-mounted.d.ts +20 -0
  18. package/dist/types/src/hooks/index.d.ts +1 -0
  19. package/dist/types/src/index.d.ts +9 -0
  20. package/dist/types/src/token/index.d.ts +2 -0
  21. package/dist/types/src/typing/WidgetTagContext.d.ts +39 -0
  22. package/dist/types/src/typing/WidgetTagProps.d.ts +23 -0
  23. package/dist/types/src/typing/index.d.ts +3 -0
  24. package/dist/types/src/typing/typing.d.ts +7 -0
  25. package/dist/types/src/util/dsl-render.d.ts +106 -0
  26. package/dist/types/src/util/index.d.ts +4 -0
  27. package/dist/types/src/util/install.d.ts +4 -0
  28. package/dist/types/src/util/render.d.ts +7 -0
  29. package/dist/types/src/util/widget-manager.d.ts +4 -0
  30. package/dist/types/src/view/index.d.ts +161 -0
  31. package/index.ts +1 -0
  32. package/package.json +34 -0
  33. package/rollup.config.js +21 -0
  34. package/src/basic/AsyncVueWidget.ts +31 -0
  35. package/src/basic/VueFragment.vue +11 -0
  36. package/src/basic/VueWidget.ts +997 -0
  37. package/src/basic/Widget.ts +675 -0
  38. package/src/basic/index.ts +3 -0
  39. package/src/data/ActiveRecordsWidget.ts +572 -0
  40. package/src/data/PathWidget.ts +82 -0
  41. package/src/data/index.ts +2 -0
  42. package/src/dsl/DslDefinitionWidget.ts +235 -0
  43. package/src/dsl/DslNodeWidget.ts +130 -0
  44. package/src/dsl/DslRenderWidget.ts +106 -0
  45. package/src/dsl/index.ts +3 -0
  46. package/src/feature/index.ts +1 -0
  47. package/src/feature/invisible-supported.ts +29 -0
  48. package/src/hooks/all-mounted.ts +179 -0
  49. package/src/hooks/index.ts +1 -0
  50. package/src/index.ts +9 -0
  51. package/src/shim-translate.d.ts +7 -0
  52. package/src/shim-vue.d.ts +6 -0
  53. package/src/token/index.ts +8 -0
  54. package/src/typing/WidgetTagContext.ts +53 -0
  55. package/src/typing/WidgetTagProps.ts +24 -0
  56. package/src/typing/index.ts +3 -0
  57. package/src/typing/typing.ts +7 -0
  58. package/src/util/dsl-render.ts +464 -0
  59. package/src/util/index.ts +4 -0
  60. package/src/util/install.ts +29 -0
  61. package/src/util/render.ts +21 -0
  62. package/src/util/widget-manager.ts +14 -0
  63. package/src/view/index.ts +416 -0
@@ -0,0 +1,20 @@
1
+ declare type onAllMountedFn = () => void;
2
+ declare type onAllMountedOptions = {
3
+ allMounted?: () => void;
4
+ allMountedUpdate?: () => void;
5
+ };
6
+ /**
7
+ * 在子组件全部挂载时执行(需配合{@link reportAllMounted}使用)
8
+ * @param fn 全部挂载时执行函数; allMounted仅会调用一次,allMountedUpdate会重复调用;
9
+ */
10
+ export declare function onAllMounted(fn: onAllMountedFn | onAllMountedOptions): void;
11
+ /**
12
+ * 子组件上报挂载状态,用于执行{@link onAllMounted}传入的全部挂载时执行函数,该方法会防止提供者方法向下透传,如需进行连续处理,应先使用reportAllMounted,再使用onAllMounted方法
13
+ * @param options
14
+ */
15
+ export declare function reportAllMounted(options?: {
16
+ onBeforeMount?: () => void | Promise<void>;
17
+ onMounted?: () => void | Promise<void>;
18
+ onUnmounted?: () => void | Promise<void>;
19
+ }): void;
20
+ export {};
@@ -0,0 +1 @@
1
+ export * from './all-mounted';
@@ -0,0 +1,9 @@
1
+ export * from './basic';
2
+ export * from './data';
3
+ export * from './dsl';
4
+ export * from './feature';
5
+ export * from './hooks';
6
+ export * from './token';
7
+ export * from './typing';
8
+ export * from './util';
9
+ export * from './view';
@@ -0,0 +1,2 @@
1
+ import { InjectionKey } from 'vue';
2
+ export declare const genToken: <T>(name: string) => InjectionKey<T>;
@@ -0,0 +1,39 @@
1
+ import { DslDefinition } from '@oinone/kunlun-dsl';
2
+ import { Slots } from 'vue';
3
+ import { VueWidget } from '../basic';
4
+ import { DslDefinitionWidgetProps } from '../dsl';
5
+ /**
6
+ * 渲染组件
7
+ */
8
+ export interface RenderWidget {
9
+ /**
10
+ * 当前组件唯一键
11
+ */
12
+ handle: string;
13
+ /**
14
+ * 主要组件
15
+ */
16
+ widget: VueWidget;
17
+ /**
18
+ * 混入组件
19
+ */
20
+ widgets: VueWidget[];
21
+ }
22
+ /**
23
+ * 组件标签上下文
24
+ */
25
+ export interface WidgetTagContext extends Record<string, unknown> {
26
+ dslDefinition: DslDefinition;
27
+ slotName: string;
28
+ widgetHandle: string;
29
+ widget: VueWidget;
30
+ widgets: VueWidget[];
31
+ slotContext?: Record<string, unknown>;
32
+ getWidgetTag(): string;
33
+ getParentHandle(): string;
34
+ getDslDefinition(): DslDefinition | undefined;
35
+ getSlotName(): string;
36
+ getProps(): DslDefinitionWidgetProps;
37
+ getCurrentSlots(): Slots | undefined;
38
+ createWidget(slots?: Slots): RenderWidget | undefined;
39
+ }
@@ -0,0 +1,23 @@
1
+ import { DslDefinition } from '@oinone/kunlun-dsl';
2
+ import { PropType } from 'vue';
3
+ /**
4
+ * 组件标签属性
5
+ */
6
+ export declare const WidgetTagProps: {
7
+ handle: {
8
+ type: StringConstructor;
9
+ };
10
+ dslDefinition: {
11
+ type: PropType<DslDefinition>;
12
+ };
13
+ slotName: {
14
+ type: StringConstructor;
15
+ };
16
+ inline: {
17
+ type: BooleanConstructor;
18
+ default: undefined;
19
+ };
20
+ slotContext: {
21
+ type: ObjectConstructor;
22
+ };
23
+ };
@@ -0,0 +1,3 @@
1
+ export * from './WidgetTagProps';
2
+ export * from './WidgetTagContext';
3
+ export * from './typing';
@@ -0,0 +1,7 @@
1
+ export declare enum InnerWidgetType {
2
+ Action = "Action",
3
+ Field = "Field",
4
+ Element = "Element",
5
+ View = "View",
6
+ Mask = "Mask"
7
+ }
@@ -0,0 +1,106 @@
1
+ import { DslDefinition, DslSlots } from '@oinone/kunlun-dsl';
2
+ import { Component, Slots, VNode } from 'vue';
3
+ export declare const DEFAULT_TAG_PREFIX = "oinone";
4
+ export declare const SLOTS_KEY = "__slots";
5
+ export declare const RENDER_OPTIONS_KEY = "__render__options";
6
+ export declare const SLOT_CONTEXT_KEY = "slotContext";
7
+ /**
8
+ * 渲染可选项
9
+ */
10
+ export interface DslRenderOptions {
11
+ /**
12
+ * 动态key
13
+ * 当key不存在时进行自动生成
14
+ */
15
+ dynamicKey?: boolean;
16
+ /**
17
+ * 是否强制更新
18
+ * 永远使用新的key进行渲染
19
+ */
20
+ focusUpdate?: boolean;
21
+ /**
22
+ * 是否递归渲染
23
+ * 递归渲染有性能损耗,但可以解决某些渲染问题,建议在明确递归层数的情况下局部使用该参数
24
+ */
25
+ recursion?: boolean;
26
+ /**
27
+ * vue createVNode patchFlag
28
+ */
29
+ patchFlag?: number;
30
+ /**
31
+ * vue createVNode dynamicProps
32
+ */
33
+ dynamicProps?: string[] | null;
34
+ /**
35
+ * vue createVNode isBlockNode
36
+ */
37
+ isBlockNode?: boolean;
38
+ /**
39
+ * 插槽上下文
40
+ */
41
+ slotContext?: Record<string, unknown>;
42
+ }
43
+ export declare type DslChildren = string | VNode[] | Slots;
44
+ /**
45
+ * dsl扩展属性
46
+ */
47
+ export declare type DslRenderExtendProp = {
48
+ __slots?: DslChildren;
49
+ __render__options?: DslRenderOptions;
50
+ };
51
+ export declare type DslRenderDefinition = DslDefinition & DslRenderExtendProp;
52
+ export declare type DslPropType = {
53
+ dslDefinition: DslRenderDefinition;
54
+ slotName: string;
55
+ slotContext?: Record<string, unknown>;
56
+ [key: string]: any;
57
+ } & DslRenderExtendProp;
58
+ declare type ResolveComponentType = Component | string;
59
+ /**
60
+ * dsl渲染
61
+ */
62
+ export declare class DslRender {
63
+ private static resolveComponentCache;
64
+ private static resolveCommonComponentCache;
65
+ /**
66
+ * 渲染指定dsl定义到对应插槽
67
+ * @param dsl 指定dsl
68
+ * @param slotName 插槽名称 默认为: default
69
+ * @param children 插槽
70
+ * @param options 渲染可选项
71
+ */
72
+ static render(dsl: DslRenderDefinition, slotName?: string, children?: DslChildren, options?: DslRenderOptions): VNode | undefined;
73
+ /**
74
+ * 渲染dsl插槽
75
+ * @param dslSlots dsl插槽
76
+ */
77
+ static renderSlots(dslSlots: DslSlots): Slots;
78
+ /**
79
+ * 通过指定dsl获取VNode插槽
80
+ * @param dsl 指定dsl
81
+ * @param supportedSlotNames
82
+ */
83
+ static fetchVNodeSlots(dsl: DslDefinition | undefined, supportedSlotNames?: string[]): Slots | undefined;
84
+ /**
85
+ * 根据dsl节点类型获取对应组件
86
+ *
87
+ * @remarks
88
+ * - {@link DslDefinitionType#VIEW} resolve rule: `{@link DEFAULT_TAG_PREFIX}-{@link DslDefinition#dslNodeType}` (Unsupported auto resolve methods)<br />
89
+ * - {@link DslDefinitionType#PACK} resolve rule: `{@link PackDslDefinition#widget}` (Supported auto resolve methods)<br>
90
+ * - {@link DslDefinitionType#ELEMENT} resolve rule: `{@link ElementDslDefinition#widget}` (Supported auto resolve methods)<br>
91
+ * - Others resolve rule: `{@link DslDefinition#dslNodeType}` (Unsupported auto resolve methods)
92
+ *
93
+ * @param dslDefinition dsl定义
94
+ * @return
95
+ * - 正确获取组件时返回: Component | string;
96
+ * - 未知类型、插槽或模板类型返回: null;
97
+ * - 无效的dslNodeType返回: undefined
98
+ */
99
+ static fetchComponent(dslDefinition: DslDefinition): ResolveComponentType | null | undefined;
100
+ private static createVNodeChildren;
101
+ private static createVNodeWithDslDefinition;
102
+ private static resolveMethods;
103
+ private static resolveCommonWidgetComponent;
104
+ private static resolveWidgetComponent;
105
+ }
106
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './dsl-render';
2
+ export * from './install';
3
+ export * from './render';
4
+ export * from './widget-manager';
@@ -0,0 +1,4 @@
1
+ import { Component, Directive, Plugin } from 'vue';
2
+ export declare function componentInstall(component: Component, name?: string | string[]): void;
3
+ export declare function directiveInstall(directive: Directive, name: string): void;
4
+ export declare function pluginInstall(plugin: Plugin, ...options: unknown[]): void;
@@ -0,0 +1,7 @@
1
+ import { Slots, VNode } from 'vue';
2
+ import { VueWidget } from '../basic';
3
+ export declare function renderWidgets(widgets: VueWidget[], ctx: Record<string, unknown>, slots?: Slots): VNode<import("vue").RendererNode, import("vue").RendererElement, {
4
+ [key: string]: any;
5
+ }> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
6
+ [key: string]: any;
7
+ }>[] | undefined;
@@ -0,0 +1,4 @@
1
+ import { VueWidget } from '../basic';
2
+ export declare function newVueWidget(): VueWidget;
3
+ export declare function getWidget(handler: string): VueWidget | undefined;
4
+ export declare function getWidgetNotNull(handle: string): VueWidget;
@@ -0,0 +1,161 @@
1
+ import { EntityBody, IViewProps, ListVM, ObjectVM, RuntimeModel } from '@oinone/kunlun-engine';
2
+ import { LifeCycleTypes, ViewEventName } from '@oinone/kunlun-event';
3
+ import { Entity, IDslNode, IModel, IView, ViewElement, ViewId, ViewType } from '@oinone/kunlun-meta';
4
+ import { Matched } from '@oinone/kunlun-router';
5
+ import { Constructor } from '@oinone/kunlun-shared';
6
+ import { SPIOptions, SPISingleSelector, SPITokenFactory } from '@oinone/kunlun-spi';
7
+ import { DslNodeWidget } from '../dsl/DslNodeWidget';
8
+ export interface IViewFilterOptions extends SPIOptions {
9
+ id?: ViewId[] | ViewId;
10
+ name?: string[] | string;
11
+ type?: ViewType[] | ViewType;
12
+ model?: string[] | string;
13
+ widget?: string[] | string;
14
+ tagName?: string[] | string;
15
+ }
16
+ declare type WatchCb<T> = (value: T, oldValue: T) => void;
17
+ export declare abstract class ViewWidget<ViewData = any, VP extends IViewProps = any, VM extends ListVM | ObjectVM = any> extends DslNodeWidget<VP> {
18
+ static Token: SPITokenFactory<IViewFilterOptions>;
19
+ static Selector: SPISingleSelector<IViewFilterOptions, Constructor<ViewWidget>>;
20
+ protected loading: boolean;
21
+ protected currentRoute: Matched;
22
+ rootData: EntityBody;
23
+ private subjectRoute$;
24
+ private $$vm;
25
+ getVM(): VM;
26
+ setVM($$vm: VM): void;
27
+ /**
28
+ * 设置loading
29
+ */
30
+ setBusy(busy: boolean): void;
31
+ /**
32
+ * 获取url参数
33
+ *
34
+ * @returns {Record<string, string>}
35
+ */
36
+ getUrlParams(): any;
37
+ /**
38
+ * 获取当前是否处于loading状态
39
+ */
40
+ getBusy(): boolean;
41
+ initialize(props: VP): this;
42
+ protected domain: string;
43
+ private filter;
44
+ private parentRootHandlerStr;
45
+ private currentRootHandlerStr;
46
+ private get rootHandleStr();
47
+ isRootView: boolean;
48
+ /**
49
+ * 监听视图的事件
50
+ * @param event 事件名 / 事件对象
51
+ * @param handler? 回调函数
52
+ *
53
+ * @example
54
+ *
55
+ * 单个事件监听
56
+ * viewWidget.on('change', (fieldInstance) => {})
57
+ * viewWidget.on('blur', (fieldInstance) => {})
58
+ */
59
+ on<V = ViewWidget>(event: {
60
+ [key in ViewEventName]?: (view: V) => void;
61
+ }): void;
62
+ /**
63
+ * 多个事件监听
64
+ *
65
+ * @example
66
+ *
67
+ * viewWidget.on({
68
+ * change(fieldInstance) => {},
69
+ * blur(fieldInstance) => {},
70
+ * })
71
+ */
72
+ on<V = ViewWidget>(event: ViewEventName, handler: (view: V) => void): void;
73
+ /**
74
+ * 用来监听视图数据的的变化
75
+ *
76
+ * @param {(value, oldValue):void} cb 监听数据发生变化的回调函数
77
+ * @param {object} options 可配置选项
78
+ * watchKey -> 当key对应的value发生变化后,才会触发回调用函数
79
+ * "如果要监听的数据是对象,那么该参数不会生效"
80
+ * distinct -> 是否去重(当上一个值跟当前的值相当的时候,就不会处理)
81
+ *
82
+ * @example
83
+ * const widget = this.createWidget(FormWidget, undefined, {....})
84
+ * widget.watch((value) => {....})
85
+ *
86
+ */
87
+ watch(cb: WatchCb<ViewData>): any;
88
+ watch(cb: WatchCb<ViewData>, options: {
89
+ watchKey?: string;
90
+ distinct?: boolean;
91
+ }): any;
92
+ watch(cb: WatchCb<ViewData>, options: {
93
+ watchKey?: string[];
94
+ distinct?: boolean;
95
+ }): any;
96
+ /**
97
+ * 如果没有key,就不做任何处理
98
+ * 如果key不是字符串类型,也不是数组类型,那么不做任何处理
99
+ */
100
+ protected filterWatchData(pre: ViewData, next: ViewData, key: string | string[]): boolean;
101
+ isDialogView: boolean;
102
+ /**
103
+ * 当前的widget是不是更节点
104
+ */
105
+ get isRoot(): boolean;
106
+ get useConstruct(): boolean;
107
+ private selfHandleStr;
108
+ view: IView;
109
+ protected model: RuntimeModel | null;
110
+ protected type: 'FORM' | 'TABLE' | 'UNKNOWN';
111
+ /**
112
+ * 页面默认的参数, A页面跳转到B页面,期望能带入参数过去
113
+ */
114
+ protected initQueryParams: Record<string, string> | null;
115
+ get viewElement(): ViewElement | any;
116
+ protected resolveTemplate(): void;
117
+ fetchData(data?: Entity[], options?: any, variables?: Record<string, unknown>): unknown;
118
+ onRowsChange(data: any[]): void;
119
+ loadData(data: ViewData, reset?: boolean): unknown;
120
+ /**
121
+ * 加载`rootData` 数据
122
+ */
123
+ loadRootData(content: any): void;
124
+ setRootDataByKey(key: string, value: any): void;
125
+ submit(): unknown;
126
+ getData(): ViewData;
127
+ setData(content: ViewData): void;
128
+ validator(): Promise<any[]>;
129
+ /**
130
+ * 加载元数据,允许被重写
131
+ *
132
+ * @param {IModel} model 模型
133
+ * @param {IDslNode} dslNode? dslNode,如果不传入,会自动创建
134
+ * @param {IView} view? 视图,如果不传入,会自动创建
135
+ * @param {ViewType} viewType? 指定视图类型
136
+ */
137
+ loadMetadata(model: IModel, dslNode?: IDslNode, view?: IView, viewType?: ViewType): void;
138
+ getActiveRecords(): Entity[];
139
+ setDomain(domain: string): void;
140
+ getDomain(): string;
141
+ setFilter(f: string): void;
142
+ getFilter(): string;
143
+ getModel(): IModel;
144
+ getView(): IView;
145
+ path: string;
146
+ getPath(): string;
147
+ notify(type: LifeCycleTypes): void;
148
+ $$beforeCreated(): void;
149
+ $$created(): void;
150
+ $$beforeMount(): void;
151
+ $$mounted(): void;
152
+ $$beforeUpdate(): void;
153
+ $$updated(): void;
154
+ $$beforeUnmount(): void;
155
+ $$unmounted(): void;
156
+ }
157
+ /**
158
+ * @deprecated 移动端未修改,必须移除该定义
159
+ */
160
+ export declare const ViewSubSymbol: unique symbol;
161
+ export {};
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './src';
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@oinone/kunlun-vue-widget",
3
+ "version": "6.2.0",
4
+ "main": "index.ts",
5
+ "scripts": {
6
+ "prebuild": "rimraf dist",
7
+ "build": "rollup -c",
8
+ "dist": "npm run prepublishOnly",
9
+ "index": "npm run postpublish",
10
+ "x-prepublishOnly": "node ../../scripts/prepublish-only.js",
11
+ "x-postpublish": "node ../../scripts/postpublish.js"
12
+ },
13
+ "dependencies": {
14
+ "@oinone/kunlun-vue-ui-common": "6.2.0"
15
+ },
16
+ "devDependencies": {
17
+ "@oinone/kunlun-dsl": "~6.2.0",
18
+ "@oinone/kunlun-engine": "~6.2.0",
19
+ "@oinone/kunlun-event": "~6.2.0",
20
+ "@oinone/kunlun-meta": "~6.2.0",
21
+ "@oinone/kunlun-router": "~6.2.0",
22
+ "@oinone/kunlun-shared": "~6.2.0",
23
+ "@oinone/kunlun-spi": "~6.2.0",
24
+ "@oinone/kunlun-state": "~6.2.0",
25
+ "@types/lodash": "4.14.182",
26
+ "@types/lodash-es": "4.17.6",
27
+ "lodash": "4.17.21",
28
+ "lodash-es": "4.17.21"
29
+ },
30
+ "peerDependencies": {
31
+ "vue": ">=3.2.40"
32
+ },
33
+ "gitHead": "b65bbf1d649da1017810c5608473d5daa1a41f94"
34
+ }
@@ -0,0 +1,21 @@
1
+ import pkg from './package.json';
2
+ import rollupConfig from '../../scripts/build.config.js';
3
+
4
+ export default rollupConfig(
5
+ pkg.name,
6
+ [
7
+ '@oinone/kunlun-dsl',
8
+ '@oinone/kunlun-engine',
9
+ '@oinone/kunlun-event',
10
+ '@oinone/kunlun-meta',
11
+ '@oinone/kunlun-router',
12
+ '@oinone/kunlun-shared',
13
+ '@oinone/kunlun-spi',
14
+ '@oinone/kunlun-state',
15
+ '@oinone/kunlun-vue-ui-common',
16
+ 'lodash',
17
+ 'lodash-es',
18
+ 'vue'
19
+ ],
20
+ false
21
+ );
@@ -0,0 +1,31 @@
1
+ import { h, Suspense, VNode, SetupContext } from 'vue';
2
+ import { SetupHook, VueWidget } from './VueWidget';
3
+
4
+ export class AsyncVueWidget extends VueWidget {
5
+ public setup(setupHook?: SetupHook) {
6
+ const setupFunction = super.setup();
7
+ return async (ctx: void, props?: unknown) => {
8
+ const result = setupFunction(ctx, props);
9
+ const hookResult: Record<string, unknown> = ((setupHook && (await setupHook(ctx, props))) || {}) as Record<
10
+ string,
11
+ unknown
12
+ >;
13
+ for (const key in hookResult) {
14
+ Reflect.set(result, key, Reflect.get(hookResult, key));
15
+ }
16
+ return result;
17
+ };
18
+ }
19
+
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ public render(ctx?: SetupContext | any): VNode {
22
+ return h('div', h(Suspense, super.render(ctx) as VNode));
23
+ }
24
+
25
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
+ public async setupHook(_ctx: void, _props: unknown, _result: unknown): Promise<unknown> {
27
+ await this.beforeCreated();
28
+ await this.created();
29
+ return {};
30
+ }
31
+ }
@@ -0,0 +1,11 @@
1
+ <script lang="ts">
2
+ import { createVNode, defineComponent, Fragment } from 'vue';
3
+
4
+ export default defineComponent({
5
+ name: 'VueFragment',
6
+ inheritAttrs: false,
7
+ render() {
8
+ return createVNode(Fragment, undefined, this.$slots.default?.() || []);
9
+ }
10
+ });
11
+ </script>