vue3-layer 1.0.17 → 2.0.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 CHANGED
@@ -1,24 +1,63 @@
1
- # Vue3-Layer 弹出层
2
-
3
- [![MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/liicos/vue3-layer)
4
- [![github](https://img.shields.io/badge/Author-legad-blue.svg)](https://github.com/liicos)
5
- [![document](https://img.shields.io/badge/Doc-welcome-red.svg)](http://vue-layer.then66.top)
6
-
7
- vue3-layer 是一款基于 layer.js 上层封装的 vue3 组件,100%支持 layer.js 的 API
8
-
9
- ## 为什么写这个组件
10
-
11
- 如果你对 layer.js UI 风格足够熟悉,你会发现国内使用 layer.js 的网站非常之多,然而基于 jQuery 的它并不能很好的适配 MVVM 的开发模式,开发这个组件的目的就是为了让大家在 Vue 中也能方便的使用这个多功能弹出层 ~
12
-
13
- ## 通过 npm 或者 yarn 安装
14
-
15
- ```shell
16
- # npm
17
- npm install vue3-layer --save
18
- # yarn
19
- yarn add vue3-layer
20
- ```
21
-
22
- ## [示例 (Example)](http://vue-layer.then66.top/guide/start.html)
23
-
24
- ## [文档 (Document)](http://vue-layer.then66.top)
1
+ # Vue3 Layer
2
+
3
+ Vue3 Layer is a Vue 3 wrapper around [layui layer](https://layui.dev/docs/2/layer/). It keeps the native `layer` API available and adds a Vue component for rendering slot content inside `layer.open()`.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install vue3-layer
9
+ ```
10
+
11
+ Vue is a peer dependency:
12
+
13
+ ```sh
14
+ npm install vue@^3.5.35
15
+ ```
16
+
17
+ ## Component Usage
18
+
19
+ ```vue
20
+ <script setup lang="ts">
21
+ import { ref } from 'vue'
22
+ import { S3Layer } from 'vue3-layer'
23
+
24
+ const visible = ref(false)
25
+ </script>
26
+
27
+ <template>
28
+ <button type="button" @click="visible = true">Open</button>
29
+
30
+ <S3Layer v-model="visible" :options="{ title: 'Title', area: ['520px', '320px'] }">
31
+ <div>Vue slot content</div>
32
+ </S3Layer>
33
+ </template>
34
+ ```
35
+
36
+ ## Native Layer API
37
+
38
+ ```ts
39
+ import { layer } from 'vue3-layer'
40
+
41
+ layer.alert('Message')
42
+ layer.confirm('Continue?')
43
+ layer.msg('Saved')
44
+ ```
45
+
46
+ ## Scripts
47
+
48
+ ```sh
49
+ npm run dev
50
+ npm run build
51
+ npm run typecheck
52
+ npm run lint
53
+ npm run docs:dev
54
+ npm run docs:build
55
+ ```
56
+
57
+ ## Documentation
58
+
59
+ The local docs are powered by VitePress:
60
+
61
+ ```sh
62
+ npm run docs:dev
63
+ ```
@@ -0,0 +1,57 @@
1
+ import { LayerElement, S3LayerOptions, S3LayerProps } from '../types';
2
+ declare function close(): void;
3
+ declare function getIndex(): number | undefined;
4
+ declare function style(css: string | Record<string, unknown>): void;
5
+ declare function title(titleValue: string): void;
6
+ declare function full(): void;
7
+ declare function min(): void;
8
+ declare function restore(): void;
9
+ declare var __VLS_7: {};
10
+ type __VLS_Slots = {} & {
11
+ default?: (props: typeof __VLS_7) => any;
12
+ };
13
+ declare const __VLS_base: import('vue').DefineComponent<S3LayerProps, {
14
+ getIndex: typeof getIndex;
15
+ close: typeof close;
16
+ style: typeof style;
17
+ title: typeof title;
18
+ full: typeof full;
19
+ min: typeof min;
20
+ restore: typeof restore;
21
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
22
+ resizing: (layero: LayerElement) => any;
23
+ moveEnd: (layero: LayerElement) => any;
24
+ success: (layero: LayerElement, index: number) => any;
25
+ yes: (index: number, layero: LayerElement) => any;
26
+ cancel: (index: number, layero: LayerElement) => any;
27
+ beforeEnd: (index: number, layero?: LayerElement | undefined) => any;
28
+ end: () => any;
29
+ full: (layero: LayerElement, index: number) => any;
30
+ min: (layero: LayerElement, index: number) => any;
31
+ restore: (layero: LayerElement, index: number) => any;
32
+ "update:modelValue": (value: boolean) => any;
33
+ }, string, import('vue').PublicProps, Readonly<S3LayerProps> & Readonly<{
34
+ onResizing?: ((layero: LayerElement) => any) | undefined;
35
+ onMoveEnd?: ((layero: LayerElement) => any) | undefined;
36
+ onSuccess?: ((layero: LayerElement, index: number) => any) | undefined;
37
+ onYes?: ((index: number, layero: LayerElement) => any) | undefined;
38
+ onCancel?: ((index: number, layero: LayerElement) => any) | undefined;
39
+ onBeforeEnd?: ((index: number, layero?: LayerElement | undefined) => any) | undefined;
40
+ onEnd?: (() => any) | undefined;
41
+ onFull?: ((layero: LayerElement, index: number) => any) | undefined;
42
+ onMin?: ((layero: LayerElement, index: number) => any) | undefined;
43
+ onRestore?: ((layero: LayerElement, index: number) => any) | undefined;
44
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
45
+ }>, {
46
+ modelValue: boolean;
47
+ options: S3LayerOptions;
48
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
49
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
50
+ declare const _default: typeof __VLS_export;
51
+ export default _default;
52
+ type __VLS_WithSlots<T, S> = T & {
53
+ new (): {
54
+ $slots: S;
55
+ };
56
+ };
57
+ //# sourceMappingURL=S3Layer.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"S3Layer.vue.d.ts","sourceRoot":"","sources":["../../src/components/S3Layer.vue"],"names":[],"mappings":"AA0RA,OAAO,KAAK,EAAE,YAAY,EAAc,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAyFtF,iBAAS,KAAK,SAGb;AA4ID,iBAAS,QAAQ,uBAEhB;AAED,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAGnD;AAED,iBAAS,KAAK,CAAC,UAAU,EAAE,MAAM,QAGhC;AAED,iBAAS,IAAI,SAGZ;AAED,iBAAS,GAAG,SAGX;AAED,iBAAS,OAAO,SAGf;AAsDD,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAG/C,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAKd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default as S3Layer } from './S3Layer.vue';
2
+ export { default as s3Layer } from './S3Layer.vue';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { default as S3Layer } from './components/S3Layer.vue';
2
+ export { default as s3Layer } from './components/S3Layer.vue';
3
+ export { getLayui, getLayer, layui, layer } from './layui';
4
+ export type { LayerApi, LayerElement, LayerIndex, LayerOpenOptions, S3LayerExpose, S3LayerInstance, S3LayerOptions, S3LayerProps } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1D,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACb,MAAM,SAAS,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { LayerApi } from './types';
2
+ type LayuiGlobal = {
3
+ layer?: LayerApi;
4
+ [key: string]: unknown;
5
+ };
6
+ export declare function getLayui(): LayuiGlobal;
7
+ export declare function getLayer(): LayerApi;
8
+ export declare const layui: LayuiGlobal;
9
+ export declare const layer: LayerApi;
10
+ export {};
11
+ //# sourceMappingURL=layui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layui.d.ts","sourceRoot":"","sources":["../src/layui.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,CAAA;AACd,OAAO,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAuBD,wBAAgB,QAAQ,IAAI,WAAW,CAEtC;AAED,wBAAgB,QAAQ,IAAI,QAAQ,CAEnC;AAED,eAAO,MAAM,KAAK,EAWb,WAAW,CAAA;AAEhB,eAAO,MAAM,KAAK,EAab,QAAQ,CAAA"}
@@ -0,0 +1,90 @@
1
+ import { ComponentPublicInstance } from 'vue';
2
+ type Awaitable<T> = T | Promise<T>;
3
+ export type LayerIndex = number;
4
+ export type LayerElement = HTMLElement & {
5
+ addClass?: (className: string) => LayerElement;
6
+ css?: (style: string | Record<string, unknown>) => LayerElement;
7
+ };
8
+ export interface LayerOpenOptions {
9
+ type?: number;
10
+ title?: string | false | string[];
11
+ content?: string | HTMLElement | unknown;
12
+ skin?: string;
13
+ area?: string | string[];
14
+ offset?: string | string[];
15
+ icon?: number;
16
+ btn?: string | string[] | false;
17
+ closeBtn?: string | number | false;
18
+ shade?: string | number | unknown[];
19
+ shadeClose?: boolean;
20
+ time?: number;
21
+ id?: string;
22
+ anim?: number;
23
+ isOutAnim?: boolean;
24
+ maxmin?: boolean;
25
+ fixed?: boolean;
26
+ resize?: boolean;
27
+ resizing?: (layero: LayerElement) => void;
28
+ scrollbar?: boolean;
29
+ maxWidth?: number;
30
+ maxHeight?: number;
31
+ zIndex?: number;
32
+ move?: string | false;
33
+ moveOut?: boolean;
34
+ moveEnd?: (layero: LayerElement) => void;
35
+ tips?: number | unknown[];
36
+ tipsMore?: boolean;
37
+ success?: (layero: LayerElement, index: LayerIndex) => void;
38
+ yes?: (index: LayerIndex, layero: LayerElement) => void;
39
+ cancel?: (index: LayerIndex, layero: LayerElement) => boolean | void;
40
+ beforeEnd?: (index: LayerIndex, layero?: LayerElement) => Awaitable<boolean | void>;
41
+ end?: () => void;
42
+ full?: (layero: LayerElement, index: LayerIndex) => void;
43
+ min?: (layero: LayerElement, index: LayerIndex) => void;
44
+ restore?: (layero: LayerElement, index: LayerIndex) => void;
45
+ [key: string]: unknown;
46
+ }
47
+ export interface LayerApi {
48
+ open(options: LayerOpenOptions): LayerIndex;
49
+ alert(content: string, options?: LayerOpenOptions | ((index: LayerIndex) => void), yes?: (index: LayerIndex) => void): LayerIndex;
50
+ confirm(content: string, options?: LayerOpenOptions | ((index: LayerIndex) => void), yes?: (index: LayerIndex) => void, cancel?: (index: LayerIndex) => void): LayerIndex;
51
+ msg(content: string, options?: LayerOpenOptions | (() => void), end?: () => void): LayerIndex;
52
+ load(icon?: number, options?: LayerOpenOptions): LayerIndex;
53
+ tips(content: string, follow: string | HTMLElement, options?: LayerOpenOptions): LayerIndex;
54
+ prompt(options?: LayerOpenOptions, yes?: (value: string, index: LayerIndex, elem: unknown) => void): LayerIndex;
55
+ photos(options: Record<string, unknown>, loop?: boolean): LayerIndex;
56
+ tab(options: LayerOpenOptions): LayerIndex;
57
+ close(index: LayerIndex): void;
58
+ closeAll(type?: string): void;
59
+ closeLast(type?: string): void;
60
+ config(options: Record<string, unknown>): LayerApi;
61
+ ready(callback: () => void): LayerApi;
62
+ style(index: LayerIndex, css: string | Record<string, unknown>): void;
63
+ title(title: string, index: LayerIndex): void;
64
+ getChildFrame(selector: string, index: LayerIndex): unknown;
65
+ getFrameIndex(windowName: string): LayerIndex;
66
+ iframeAuto(index: LayerIndex): void;
67
+ iframeSrc(index: LayerIndex, url: string): void;
68
+ setTop(layero: LayerElement): void;
69
+ full(index: LayerIndex): void;
70
+ min(index: LayerIndex): void;
71
+ restore(index: LayerIndex): void;
72
+ [key: string]: unknown;
73
+ }
74
+ export type S3LayerOptions = LayerOpenOptions;
75
+ export interface S3LayerProps {
76
+ modelValue: boolean;
77
+ options?: S3LayerOptions;
78
+ }
79
+ export interface S3LayerExpose {
80
+ getIndex: () => LayerIndex | undefined;
81
+ close: () => void;
82
+ style: (css: string | Record<string, unknown>) => void;
83
+ title: (title: string) => void;
84
+ full: () => void;
85
+ min: () => void;
86
+ restore: () => void;
87
+ }
88
+ export type S3LayerInstance = ComponentPublicInstance<S3LayerProps, S3LayerExpose>;
89
+ export {};
90
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}