@overlastic/vue 0.5.1 → 0.7.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 +2 -2
- package/dist/index.cjs +20 -11
- package/dist/index.d.cts +22 -20
- package/dist/index.d.ts +22 -20
- package/dist/index.global.js +17 -8
- package/dist/index.js +17 -8
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<p align="center">
|
|
2
2
|
<a href="https://overlastic.vercel.app/" target="blank">
|
|
3
|
-
<img src="https://github.com/hairyf/overlastic/raw/master/docs/public/
|
|
3
|
+
<img src="https://github.com/hairyf/overlastic/raw/master/docs/public/logo.svg" width="120" alt="Nest Logo" />
|
|
4
4
|
</a>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
@@ -26,4 +26,4 @@ $ npm install --save @overlastic/vue
|
|
|
26
26
|
|
|
27
27
|
## Quick Start
|
|
28
28
|
|
|
29
|
-
[Overview & Tutorial](https://overlastic.vercel.app/
|
|
29
|
+
[Overview & Tutorial](https://overlastic.vercel.app/vue/)
|
package/dist/index.cjs
CHANGED
|
@@ -26,9 +26,9 @@ __export(src_exports, {
|
|
|
26
26
|
defineOverlay: () => defineOverlay,
|
|
27
27
|
install: () => install,
|
|
28
28
|
renderOverlay: () => renderOverlay,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
useExtendOverlay: () => useExtendOverlay,
|
|
30
|
+
useOverlayHolder: () => useOverlayHolder,
|
|
31
|
+
useOverlayInject: () => useOverlayInject
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(src_exports);
|
|
34
34
|
|
|
@@ -43,7 +43,7 @@ var InstancesInjectionKey = Symbol("OverlayInstances");
|
|
|
43
43
|
var import_vue_demi = require("vue-demi");
|
|
44
44
|
var import_core = require("@vueuse/core");
|
|
45
45
|
var import_core2 = require("@overlastic/core");
|
|
46
|
-
function
|
|
46
|
+
function useExtendOverlay(options = {}) {
|
|
47
47
|
const { duration = 0, immediate = true, model = "visible", automatic = true } = options;
|
|
48
48
|
const overlay = (0, import_vue_demi.inject)(ScriptsInjectionKey, useDeclarative(model, options));
|
|
49
49
|
const dec = Reflect.get(overlay, "in_dec");
|
|
@@ -65,7 +65,7 @@ function useDeclarative(model, options = {}) {
|
|
|
65
65
|
const { reject = "reject", resolve = "resolve" } = options.events || {};
|
|
66
66
|
const instance = (0, import_vue_demi.getCurrentInstance)();
|
|
67
67
|
if (!instance)
|
|
68
|
-
throw new Error("Please use
|
|
68
|
+
throw new Error("Please use useExtendOverlay in component setup");
|
|
69
69
|
const visible = (0, import_core.useVModel)(instance.props, model, instance.emit, { passive: true });
|
|
70
70
|
const _reject = (value) => {
|
|
71
71
|
instance == null ? void 0 : instance.emit(reject, value);
|
|
@@ -111,7 +111,16 @@ function useOverlayHolder(component, options = {}) {
|
|
|
111
111
|
const { callback, scripts, props, refresh } = useRefreshMetadata();
|
|
112
112
|
const name = (0, import_core3.defineName)(options.id, options.autoIncrement);
|
|
113
113
|
function render() {
|
|
114
|
-
return (0, import_vue_demi3.h)(
|
|
114
|
+
return (0, import_vue_demi3.h)(
|
|
115
|
+
import_vue_demi3.Teleport,
|
|
116
|
+
{
|
|
117
|
+
to: options.root || document.body,
|
|
118
|
+
disabled: options.root === false
|
|
119
|
+
},
|
|
120
|
+
(0, import_vue_demi3.h)("div", { id: name }, [
|
|
121
|
+
(0, import_vue_demi3.h)(component, props.value)
|
|
122
|
+
])
|
|
123
|
+
);
|
|
115
124
|
}
|
|
116
125
|
const Holder = (0, import_vue_demi3.defineComponent)({
|
|
117
126
|
name: (0, import_pascal_case.pascalCase)(name),
|
|
@@ -143,7 +152,7 @@ function useRefreshMetadata() {
|
|
|
143
152
|
return { callback, scripts, props, refresh };
|
|
144
153
|
}
|
|
145
154
|
|
|
146
|
-
// src/composable/
|
|
155
|
+
// src/composable/inject.ts
|
|
147
156
|
var import_core4 = require("@overlastic/core");
|
|
148
157
|
var import_vue = require("vue");
|
|
149
158
|
var import_pascal_case2 = require("pascal-case");
|
|
@@ -162,7 +171,7 @@ var { define } = (0, import_core4.createConstructor)((Instance, props, options)
|
|
|
162
171
|
}
|
|
163
172
|
render(InstanceWithProvider, props);
|
|
164
173
|
}, { container: false });
|
|
165
|
-
function
|
|
174
|
+
function useOverlayInject(Instance) {
|
|
166
175
|
const { render, vanish } = (0, import_vue.inject)(InstancesInjectionKey);
|
|
167
176
|
return define(Instance, { render, vanish });
|
|
168
177
|
}
|
|
@@ -268,7 +277,7 @@ var src_default = unoverlay;
|
|
|
268
277
|
defineOverlay,
|
|
269
278
|
install,
|
|
270
279
|
renderOverlay,
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
280
|
+
useExtendOverlay,
|
|
281
|
+
useOverlayHolder,
|
|
282
|
+
useOverlayInject
|
|
274
283
|
});
|
package/dist/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as vue_demi from 'vue-demi';
|
|
2
|
-
import { Ref,
|
|
2
|
+
import { Ref, AppContext, App } from 'vue-demi';
|
|
3
3
|
import * as _overlastic_core from '@overlastic/core';
|
|
4
|
-
import { Deferred, ImperativeOverlay, GlobalMountOptions } from '@overlastic/core';
|
|
4
|
+
import { Deferred, ImperativeOverlay, GlobalMountOptions, MountOptions } from '@overlastic/core';
|
|
5
5
|
import * as vue from 'vue';
|
|
6
|
-
import { Component
|
|
6
|
+
import { Component, PropType, VNode } from 'vue';
|
|
7
7
|
|
|
8
8
|
interface PromptifyEvents {
|
|
9
9
|
/**
|
|
@@ -19,7 +19,7 @@ interface PromptifyEvents {
|
|
|
19
19
|
*/
|
|
20
20
|
resolve?: string;
|
|
21
21
|
}
|
|
22
|
-
interface
|
|
22
|
+
interface ExtendOverlayOptions {
|
|
23
23
|
/** animation duration to avoid premature destruction of components */
|
|
24
24
|
duration?: number;
|
|
25
25
|
/** whether to set visible to true immediately */
|
|
@@ -41,13 +41,13 @@ interface OverlayDefineOptions {
|
|
|
41
41
|
*/
|
|
42
42
|
automatic?: boolean;
|
|
43
43
|
}
|
|
44
|
-
interface
|
|
44
|
+
interface ExtendOverlayReturn {
|
|
45
45
|
/** the notification reject, modify visible, and destroy it after the duration ends */
|
|
46
|
-
reject:
|
|
46
|
+
reject: (reason?: any) => void;
|
|
47
47
|
/** the notification resolve, modify visible, and destroy it after the duration ends */
|
|
48
|
-
resolve:
|
|
48
|
+
resolve: (value?: any) => void;
|
|
49
49
|
/** destroy the current instance (immediately) */
|
|
50
|
-
vanish:
|
|
50
|
+
vanish: () => void;
|
|
51
51
|
/** visible control popup display and hide */
|
|
52
52
|
visible: Ref<boolean>;
|
|
53
53
|
/** current deferred */
|
|
@@ -60,30 +60,32 @@ interface ProgramsReturn {
|
|
|
60
60
|
* @function vanish destroy the current instance (immediately)
|
|
61
61
|
* @field visible control overlay display and hide
|
|
62
62
|
*/
|
|
63
|
-
declare function
|
|
63
|
+
declare function useExtendOverlay(options?: ExtendOverlayOptions): ExtendOverlayReturn;
|
|
64
64
|
|
|
65
|
-
type
|
|
66
|
-
|
|
65
|
+
type AbstractFn = abstract new (...args: any) => any;
|
|
66
|
+
|
|
67
|
+
type InjectionHolder<Component extends AbstractFn, Resolved> = [Component, ImperativeOverlay<InstanceType<Component>['$props'], Resolved>];
|
|
68
|
+
declare function useOverlayHolder<Component extends AbstractFn, Resolved = any>(component: Component, options?: Omit<GlobalMountOptions, 'appContext'>): InjectionHolder<Component, Resolved>;
|
|
67
69
|
|
|
68
70
|
interface Options {
|
|
69
|
-
render: (instance: Component
|
|
70
|
-
vanish: (instance: Component
|
|
71
|
+
render: (instance: Component, props: any) => void;
|
|
72
|
+
vanish: (instance: Component) => void;
|
|
71
73
|
}
|
|
72
|
-
declare function
|
|
74
|
+
declare function useOverlayInject<Component extends AbstractFn, Resolved>(Instance: Component): _overlastic_core.ImperativeOverlay<InstanceType<Component>["$props"], Resolved, Options>;
|
|
73
75
|
|
|
74
76
|
interface VMountOptions {
|
|
75
77
|
/** current app context */
|
|
76
78
|
appContext?: AppContext;
|
|
77
79
|
}
|
|
78
80
|
|
|
79
|
-
declare const defineOverlay: <
|
|
80
|
-
declare const renderOverlay: <
|
|
81
|
+
declare const defineOverlay: <Component extends AbstractFn, Resolved = any>(instance: Component, options?: MountOptions<VMountOptions> | undefined) => ImperativeOverlay<InstanceType<Component>['$props'], Resolved, VMountOptions>;
|
|
82
|
+
declare const renderOverlay: <Component extends AbstractFn, Resolved = any>(instance: Component, props?: InstanceType<Component>['$props'] | undefined, options?: MountOptions<VMountOptions> | undefined) => Promise<Resolved>;
|
|
81
83
|
|
|
82
84
|
declare const Field: vue.DefineComponent<{
|
|
83
85
|
is: {
|
|
84
86
|
type: PropType<string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
85
87
|
[key: string]: any;
|
|
86
|
-
}> | Component
|
|
88
|
+
}> | Component>;
|
|
87
89
|
default: string;
|
|
88
90
|
};
|
|
89
91
|
}, () => string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -92,13 +94,13 @@ declare const Field: vue.DefineComponent<{
|
|
|
92
94
|
is: {
|
|
93
95
|
type: PropType<string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
94
96
|
[key: string]: any;
|
|
95
|
-
}> | Component
|
|
97
|
+
}> | Component>;
|
|
96
98
|
default: string;
|
|
97
99
|
};
|
|
98
100
|
}>>, {
|
|
99
101
|
is: string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
100
102
|
[key: string]: any;
|
|
101
|
-
}> | Component
|
|
103
|
+
}> | Component;
|
|
102
104
|
}, {}>;
|
|
103
105
|
|
|
104
106
|
declare const OverlayProvider: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
|
|
@@ -110,4 +112,4 @@ declare const unoverlay: {
|
|
|
110
112
|
install: typeof install;
|
|
111
113
|
};
|
|
112
114
|
|
|
113
|
-
export {
|
|
115
|
+
export { type ExtendOverlayOptions, type ExtendOverlayReturn, Field, type InjectionHolder, OverlayProvider, unoverlay as default, defineOverlay, install, renderOverlay, useExtendOverlay, useOverlayHolder, useOverlayInject };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as vue_demi from 'vue-demi';
|
|
2
|
-
import { Ref,
|
|
2
|
+
import { Ref, AppContext, App } from 'vue-demi';
|
|
3
3
|
import * as _overlastic_core from '@overlastic/core';
|
|
4
|
-
import { Deferred, ImperativeOverlay, GlobalMountOptions } from '@overlastic/core';
|
|
4
|
+
import { Deferred, ImperativeOverlay, GlobalMountOptions, MountOptions } from '@overlastic/core';
|
|
5
5
|
import * as vue from 'vue';
|
|
6
|
-
import { Component
|
|
6
|
+
import { Component, PropType, VNode } from 'vue';
|
|
7
7
|
|
|
8
8
|
interface PromptifyEvents {
|
|
9
9
|
/**
|
|
@@ -19,7 +19,7 @@ interface PromptifyEvents {
|
|
|
19
19
|
*/
|
|
20
20
|
resolve?: string;
|
|
21
21
|
}
|
|
22
|
-
interface
|
|
22
|
+
interface ExtendOverlayOptions {
|
|
23
23
|
/** animation duration to avoid premature destruction of components */
|
|
24
24
|
duration?: number;
|
|
25
25
|
/** whether to set visible to true immediately */
|
|
@@ -41,13 +41,13 @@ interface OverlayDefineOptions {
|
|
|
41
41
|
*/
|
|
42
42
|
automatic?: boolean;
|
|
43
43
|
}
|
|
44
|
-
interface
|
|
44
|
+
interface ExtendOverlayReturn {
|
|
45
45
|
/** the notification reject, modify visible, and destroy it after the duration ends */
|
|
46
|
-
reject:
|
|
46
|
+
reject: (reason?: any) => void;
|
|
47
47
|
/** the notification resolve, modify visible, and destroy it after the duration ends */
|
|
48
|
-
resolve:
|
|
48
|
+
resolve: (value?: any) => void;
|
|
49
49
|
/** destroy the current instance (immediately) */
|
|
50
|
-
vanish:
|
|
50
|
+
vanish: () => void;
|
|
51
51
|
/** visible control popup display and hide */
|
|
52
52
|
visible: Ref<boolean>;
|
|
53
53
|
/** current deferred */
|
|
@@ -60,30 +60,32 @@ interface ProgramsReturn {
|
|
|
60
60
|
* @function vanish destroy the current instance (immediately)
|
|
61
61
|
* @field visible control overlay display and hide
|
|
62
62
|
*/
|
|
63
|
-
declare function
|
|
63
|
+
declare function useExtendOverlay(options?: ExtendOverlayOptions): ExtendOverlayReturn;
|
|
64
64
|
|
|
65
|
-
type
|
|
66
|
-
|
|
65
|
+
type AbstractFn = abstract new (...args: any) => any;
|
|
66
|
+
|
|
67
|
+
type InjectionHolder<Component extends AbstractFn, Resolved> = [Component, ImperativeOverlay<InstanceType<Component>['$props'], Resolved>];
|
|
68
|
+
declare function useOverlayHolder<Component extends AbstractFn, Resolved = any>(component: Component, options?: Omit<GlobalMountOptions, 'appContext'>): InjectionHolder<Component, Resolved>;
|
|
67
69
|
|
|
68
70
|
interface Options {
|
|
69
|
-
render: (instance: Component
|
|
70
|
-
vanish: (instance: Component
|
|
71
|
+
render: (instance: Component, props: any) => void;
|
|
72
|
+
vanish: (instance: Component) => void;
|
|
71
73
|
}
|
|
72
|
-
declare function
|
|
74
|
+
declare function useOverlayInject<Component extends AbstractFn, Resolved>(Instance: Component): _overlastic_core.ImperativeOverlay<InstanceType<Component>["$props"], Resolved, Options>;
|
|
73
75
|
|
|
74
76
|
interface VMountOptions {
|
|
75
77
|
/** current app context */
|
|
76
78
|
appContext?: AppContext;
|
|
77
79
|
}
|
|
78
80
|
|
|
79
|
-
declare const defineOverlay: <
|
|
80
|
-
declare const renderOverlay: <
|
|
81
|
+
declare const defineOverlay: <Component extends AbstractFn, Resolved = any>(instance: Component, options?: MountOptions<VMountOptions> | undefined) => ImperativeOverlay<InstanceType<Component>['$props'], Resolved, VMountOptions>;
|
|
82
|
+
declare const renderOverlay: <Component extends AbstractFn, Resolved = any>(instance: Component, props?: InstanceType<Component>['$props'] | undefined, options?: MountOptions<VMountOptions> | undefined) => Promise<Resolved>;
|
|
81
83
|
|
|
82
84
|
declare const Field: vue.DefineComponent<{
|
|
83
85
|
is: {
|
|
84
86
|
type: PropType<string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
85
87
|
[key: string]: any;
|
|
86
|
-
}> | Component
|
|
88
|
+
}> | Component>;
|
|
87
89
|
default: string;
|
|
88
90
|
};
|
|
89
91
|
}, () => string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -92,13 +94,13 @@ declare const Field: vue.DefineComponent<{
|
|
|
92
94
|
is: {
|
|
93
95
|
type: PropType<string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
94
96
|
[key: string]: any;
|
|
95
|
-
}> | Component
|
|
97
|
+
}> | Component>;
|
|
96
98
|
default: string;
|
|
97
99
|
};
|
|
98
100
|
}>>, {
|
|
99
101
|
is: string | number | VNode<vue.RendererNode, vue.RendererElement, {
|
|
100
102
|
[key: string]: any;
|
|
101
|
-
}> | Component
|
|
103
|
+
}> | Component;
|
|
102
104
|
}, {}>;
|
|
103
105
|
|
|
104
106
|
declare const OverlayProvider: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
|
|
@@ -110,4 +112,4 @@ declare const unoverlay: {
|
|
|
110
112
|
install: typeof install;
|
|
111
113
|
};
|
|
112
114
|
|
|
113
|
-
export {
|
|
115
|
+
export { type ExtendOverlayOptions, type ExtendOverlayReturn, Field, type InjectionHolder, OverlayProvider, unoverlay as default, defineOverlay, install, renderOverlay, useExtendOverlay, useOverlayHolder, useOverlayInject };
|
package/dist/index.global.js
CHANGED
|
@@ -16500,9 +16500,9 @@ ${codeFrame}` : message);
|
|
|
16500
16500
|
defineOverlay: () => defineOverlay,
|
|
16501
16501
|
install: () => install2,
|
|
16502
16502
|
renderOverlay: () => renderOverlay,
|
|
16503
|
-
|
|
16504
|
-
|
|
16505
|
-
|
|
16503
|
+
useExtendOverlay: () => useExtendOverlay,
|
|
16504
|
+
useOverlayHolder: () => useOverlayHolder,
|
|
16505
|
+
useOverlayInject: () => useOverlayInject
|
|
16506
16506
|
});
|
|
16507
16507
|
|
|
16508
16508
|
// src/internal/index.ts
|
|
@@ -16765,7 +16765,7 @@ ${codeFrame}` : message);
|
|
|
16765
16765
|
}
|
|
16766
16766
|
|
|
16767
16767
|
// src/composable/define.ts
|
|
16768
|
-
function
|
|
16768
|
+
function useExtendOverlay(options = {}) {
|
|
16769
16769
|
const { duration = 0, immediate = true, model = "visible", automatic = true } = options;
|
|
16770
16770
|
const overlay = (0, lib_exports.inject)(ScriptsInjectionKey, useDeclarative(model, options));
|
|
16771
16771
|
const dec = Reflect.get(overlay, "in_dec");
|
|
@@ -16787,7 +16787,7 @@ ${codeFrame}` : message);
|
|
|
16787
16787
|
const { reject = "reject", resolve: resolve2 = "resolve" } = options.events || {};
|
|
16788
16788
|
const instance = (0, lib_exports.getCurrentInstance)();
|
|
16789
16789
|
if (!instance)
|
|
16790
|
-
throw new Error("Please use
|
|
16790
|
+
throw new Error("Please use useExtendOverlay in component setup");
|
|
16791
16791
|
const visible = useVModel(instance.props, model, instance.emit, { passive: true });
|
|
16792
16792
|
const _reject = (value) => {
|
|
16793
16793
|
instance == null ? void 0 : instance.emit(reject, value);
|
|
@@ -16889,7 +16889,16 @@ ${codeFrame}` : message);
|
|
|
16889
16889
|
const { callback, scripts, props, refresh } = useRefreshMetadata();
|
|
16890
16890
|
const name = defineName(options.id, options.autoIncrement);
|
|
16891
16891
|
function render2() {
|
|
16892
|
-
return (0, lib_exports.h)(
|
|
16892
|
+
return (0, lib_exports.h)(
|
|
16893
|
+
lib_exports.Teleport,
|
|
16894
|
+
{
|
|
16895
|
+
to: options.root || document.body,
|
|
16896
|
+
disabled: options.root === false
|
|
16897
|
+
},
|
|
16898
|
+
(0, lib_exports.h)("div", { id: name }, [
|
|
16899
|
+
(0, lib_exports.h)(component, props.value)
|
|
16900
|
+
])
|
|
16901
|
+
);
|
|
16893
16902
|
}
|
|
16894
16903
|
const Holder = (0, lib_exports.defineComponent)({
|
|
16895
16904
|
name: pascalCase(name),
|
|
@@ -16921,7 +16930,7 @@ ${codeFrame}` : message);
|
|
|
16921
16930
|
return { callback, scripts, props, refresh };
|
|
16922
16931
|
}
|
|
16923
16932
|
|
|
16924
|
-
// src/composable/
|
|
16933
|
+
// src/composable/inject.ts
|
|
16925
16934
|
var { define } = createConstructor((Instance, props, options) => {
|
|
16926
16935
|
const { id, deferred, render: render2, vanish: _vanish } = options;
|
|
16927
16936
|
const InstanceWithProvider = (0, vue_exports.defineComponent)({
|
|
@@ -16937,7 +16946,7 @@ ${codeFrame}` : message);
|
|
|
16937
16946
|
}
|
|
16938
16947
|
render2(InstanceWithProvider, props);
|
|
16939
16948
|
}, { container: false });
|
|
16940
|
-
function
|
|
16949
|
+
function useOverlayInject(Instance) {
|
|
16941
16950
|
const { render: render2, vanish } = (0, vue_exports.inject)(InstancesInjectionKey);
|
|
16942
16951
|
return define(Instance, { render: render2, vanish });
|
|
16943
16952
|
}
|
package/dist/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var InstancesInjectionKey = Symbol("OverlayInstances");
|
|
|
9
9
|
import { getCurrentInstance, inject, onMounted, provide } from "vue-demi";
|
|
10
10
|
import { useVModel } from "@vueuse/core";
|
|
11
11
|
import { delay, noop } from "@overlastic/core";
|
|
12
|
-
function
|
|
12
|
+
function useExtendOverlay(options = {}) {
|
|
13
13
|
const { duration = 0, immediate = true, model = "visible", automatic = true } = options;
|
|
14
14
|
const overlay = inject(ScriptsInjectionKey, useDeclarative(model, options));
|
|
15
15
|
const dec = Reflect.get(overlay, "in_dec");
|
|
@@ -31,7 +31,7 @@ function useDeclarative(model, options = {}) {
|
|
|
31
31
|
const { reject = "reject", resolve = "resolve" } = options.events || {};
|
|
32
32
|
const instance = getCurrentInstance();
|
|
33
33
|
if (!instance)
|
|
34
|
-
throw new Error("Please use
|
|
34
|
+
throw new Error("Please use useExtendOverlay in component setup");
|
|
35
35
|
const visible = useVModel(instance.props, model, instance.emit, { passive: true });
|
|
36
36
|
const _reject = (value) => {
|
|
37
37
|
instance == null ? void 0 : instance.emit(reject, value);
|
|
@@ -77,7 +77,16 @@ function useOverlayHolder(component, options = {}) {
|
|
|
77
77
|
const { callback, scripts, props, refresh } = useRefreshMetadata();
|
|
78
78
|
const name = defineName(options.id, options.autoIncrement);
|
|
79
79
|
function render() {
|
|
80
|
-
return h(
|
|
80
|
+
return h(
|
|
81
|
+
Teleport,
|
|
82
|
+
{
|
|
83
|
+
to: options.root || document.body,
|
|
84
|
+
disabled: options.root === false
|
|
85
|
+
},
|
|
86
|
+
h("div", { id: name }, [
|
|
87
|
+
h(component, props.value)
|
|
88
|
+
])
|
|
89
|
+
);
|
|
81
90
|
}
|
|
82
91
|
const Holder = defineComponent({
|
|
83
92
|
name: pascalCase(name),
|
|
@@ -109,7 +118,7 @@ function useRefreshMetadata() {
|
|
|
109
118
|
return { callback, scripts, props, refresh };
|
|
110
119
|
}
|
|
111
120
|
|
|
112
|
-
// src/composable/
|
|
121
|
+
// src/composable/inject.ts
|
|
113
122
|
import { createConstructor } from "@overlastic/core";
|
|
114
123
|
import { defineComponent as defineComponent2, h as h2, inject as inject2, provide as provide3 } from "vue";
|
|
115
124
|
import { pascalCase as pascalCase2 } from "pascal-case";
|
|
@@ -128,7 +137,7 @@ var { define } = createConstructor((Instance, props, options) => {
|
|
|
128
137
|
}
|
|
129
138
|
render(InstanceWithProvider, props);
|
|
130
139
|
}, { container: false });
|
|
131
|
-
function
|
|
140
|
+
function useOverlayInject(Instance) {
|
|
132
141
|
const { render, vanish } = inject2(InstancesInjectionKey);
|
|
133
142
|
return define(Instance, { render, vanish });
|
|
134
143
|
}
|
|
@@ -234,7 +243,7 @@ export {
|
|
|
234
243
|
defineOverlay,
|
|
235
244
|
install,
|
|
236
245
|
renderOverlay,
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
246
|
+
useExtendOverlay,
|
|
247
|
+
useOverlayHolder,
|
|
248
|
+
useOverlayInject
|
|
240
249
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@overlastic/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/hairyf/overlastic#readme",
|
|
7
7
|
"repository": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"pascal-case": "3.1.2",
|
|
30
30
|
"vue": "^3.3.2",
|
|
31
31
|
"vue-demi": ">=0.14.7",
|
|
32
|
-
"@overlastic/core": "^0.
|
|
32
|
+
"@overlastic/core": "^0.7.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsup src/index.ts",
|