vue-devui 1.5.9 → 1.5.11
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/alert/index.es.js +4 -3
- package/alert/index.umd.js +3 -3
- package/alert/style.css +1 -1
- package/avatar/index.es.js +9 -6
- package/avatar/index.umd.js +3 -3
- package/avatar/style.css +1 -1
- package/badge/index.es.js +1 -0
- package/badge/index.umd.js +1 -1
- package/carousel/index.es.js +46 -9
- package/carousel/index.umd.js +1 -1
- package/carousel/style.css +1 -1
- package/code-review/index.es.js +478 -151
- package/code-review/index.umd.js +49 -24
- package/code-review/style.css +1 -1
- package/collapse/index.es.js +1 -1
- package/collapse/index.umd.js +2 -2
- package/collapse/style.css +1 -1
- package/editor-md/index.es.js +913 -91
- package/editor-md/index.umd.js +47 -47
- package/global.d.ts +0 -1
- package/package.json +1 -1
- package/style.css +1 -1
- package/table/index.es.js +3 -3
- package/table/index.umd.js +2 -2
- package/types/avatar/src/avatar.d.ts +4 -2
- package/types/code-review/src/code-review-types.d.ts +14 -2
- package/types/code-review/src/code-review.d.ts +32 -5
- package/types/code-review/src/composables/use-code-review-comment.d.ts +10 -6
- package/types/code-review/src/const.d.ts +20 -0
- package/types/code-review/src/utils.d.ts +8 -3
- package/types/editor-md/src/editor-md.d.ts +2 -2
- package/types/fullscreen/index.d.ts +0 -1
- package/types/fullscreen/src/fullscreen-types.d.ts +2 -3
- package/types/fullscreen/src/fullscreen.d.ts +3 -3
- package/types/shared/utils/index.d.ts +2 -0
- package/types/shared/utils/use-namespace.d.ts +13 -0
- package/vue-devui.es.js +1665 -533
- package/vue-devui.umd.js +110 -85
- package/fullscreen/index.es.js +0 -166
- package/fullscreen/index.umd.js +0 -1
- package/fullscreen/package.json +0 -8
- package/fullscreen/style.css +0 -1
- package/nuxt/components/Fullscreen.js +0 -3
- package/nuxt/components/fullscreenProps.js +0 -3
package/fullscreen/index.es.js
DELETED
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
import { toRefs, onMounted, onUnmounted, watch, defineComponent, ref, renderSlot, useSlots, createVNode } from "vue";
|
|
2
|
-
const fullscreenProps = {
|
|
3
|
-
modelValue: {
|
|
4
|
-
type: Boolean,
|
|
5
|
-
default: false
|
|
6
|
-
},
|
|
7
|
-
mode: {
|
|
8
|
-
type: String,
|
|
9
|
-
default: "normal"
|
|
10
|
-
},
|
|
11
|
-
zIndex: {
|
|
12
|
-
type: Number,
|
|
13
|
-
default: 10
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
const ESC_KEY_CODE = 27;
|
|
17
|
-
function useKeydown(props, ctx) {
|
|
18
|
-
const { modelValue } = toRefs(props);
|
|
19
|
-
const handleKeydown = (event) => {
|
|
20
|
-
if (event.keyCode === ESC_KEY_CODE && modelValue) {
|
|
21
|
-
ctx.emit("update:modelValue", false);
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
onMounted(() => {
|
|
25
|
-
document.addEventListener("keydown", handleKeydown);
|
|
26
|
-
});
|
|
27
|
-
onUnmounted(() => {
|
|
28
|
-
document.removeEventListener("keydown", handleKeydown);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
function createBem(namespace, element, modifier) {
|
|
32
|
-
let cls = namespace;
|
|
33
|
-
if (element) {
|
|
34
|
-
cls += `__${element}`;
|
|
35
|
-
}
|
|
36
|
-
if (modifier) {
|
|
37
|
-
cls += `--${modifier}`;
|
|
38
|
-
}
|
|
39
|
-
return cls;
|
|
40
|
-
}
|
|
41
|
-
function useNamespace(block, needDot = false) {
|
|
42
|
-
const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
|
|
43
|
-
const b = () => createBem(namespace);
|
|
44
|
-
const e = (element) => element ? createBem(namespace, element) : "";
|
|
45
|
-
const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
|
|
46
|
-
const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
|
|
47
|
-
return {
|
|
48
|
-
b,
|
|
49
|
-
e,
|
|
50
|
-
m,
|
|
51
|
-
em
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
const ns = useNamespace("fullscreen");
|
|
55
|
-
const launchNormalFullscreen = (targetElement, props) => {
|
|
56
|
-
targetElement.classList.add(ns.b());
|
|
57
|
-
if (props.zIndex) {
|
|
58
|
-
targetElement.setAttribute("style", `z-index: ${props.zIndex}`);
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
const exitNormalFullscreen = (targetElement) => {
|
|
62
|
-
targetElement.classList.remove(ns.b());
|
|
63
|
-
targetElement.style.zIndex = "";
|
|
64
|
-
};
|
|
65
|
-
const launchImmersiveFullScreen = async (docElement) => {
|
|
66
|
-
let fullscreenLaunch = null;
|
|
67
|
-
if (docElement.requestFullscreen) {
|
|
68
|
-
fullscreenLaunch = docElement.requestFullscreen();
|
|
69
|
-
} else if (docElement.mozRequestFullScreen) {
|
|
70
|
-
fullscreenLaunch = docElement.mozRequestFullScreen();
|
|
71
|
-
} else if (docElement.webkitRequestFullScreen) {
|
|
72
|
-
fullscreenLaunch = Promise.resolve(docElement.webkitRequestFullScreen());
|
|
73
|
-
} else if (docElement.msRequestFullscreen) {
|
|
74
|
-
fullscreenLaunch = Promise.resolve(docElement.msRequestFullscreen());
|
|
75
|
-
}
|
|
76
|
-
return await (fullscreenLaunch == null ? void 0 : fullscreenLaunch.then(() => !!document.fullscreenElement));
|
|
77
|
-
};
|
|
78
|
-
const exitImmersiveFullScreen = async (doc) => {
|
|
79
|
-
let fullscreenExit = null;
|
|
80
|
-
if (doc.exitFullscreen) {
|
|
81
|
-
fullscreenExit = doc.exitFullscreen();
|
|
82
|
-
} else if (doc.mozCancelFullScreen) {
|
|
83
|
-
fullscreenExit = doc.mozCancelFullScreen();
|
|
84
|
-
} else if (doc.webkitCancelFullScreen) {
|
|
85
|
-
fullscreenExit = Promise.resolve(doc.webkitCancelFullScreen());
|
|
86
|
-
} else if (doc.msExitFullscreen) {
|
|
87
|
-
fullscreenExit = Promise.resolve(doc.msExitFullscreen());
|
|
88
|
-
}
|
|
89
|
-
return await (fullscreenExit == null ? void 0 : fullscreenExit.then(() => !!document.fullscreenElement));
|
|
90
|
-
};
|
|
91
|
-
const addFullScreenStyle = () => {
|
|
92
|
-
document.getElementsByTagName("html")[0].classList.add(ns.e("html"));
|
|
93
|
-
};
|
|
94
|
-
const removeFullScreenStyle = () => {
|
|
95
|
-
document.getElementsByTagName("html")[0].classList.remove(ns.e("html"));
|
|
96
|
-
};
|
|
97
|
-
function useFullscreen(props, slotElement, ctx) {
|
|
98
|
-
const { modelValue, mode } = toRefs(props);
|
|
99
|
-
let exitByKeydown = false;
|
|
100
|
-
const handleNormalFullscreen = (isOpen) => {
|
|
101
|
-
if (isOpen) {
|
|
102
|
-
launchNormalFullscreen(slotElement.value, props);
|
|
103
|
-
addFullScreenStyle();
|
|
104
|
-
} else {
|
|
105
|
-
exitNormalFullscreen(slotElement.value);
|
|
106
|
-
removeFullScreenStyle();
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
const handleImmersiveFullscreen = (isOpen) => {
|
|
110
|
-
if (isOpen) {
|
|
111
|
-
launchImmersiveFullScreen(slotElement.value);
|
|
112
|
-
} else {
|
|
113
|
-
if (!exitByKeydown) {
|
|
114
|
-
exitImmersiveFullScreen(document);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
watch(modelValue, (newVal) => {
|
|
119
|
-
if (mode.value === "normal") {
|
|
120
|
-
handleNormalFullscreen(newVal);
|
|
121
|
-
}
|
|
122
|
-
if (mode.value === "immersive") {
|
|
123
|
-
handleImmersiveFullscreen(newVal);
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
const handleFullscreenChange = () => {
|
|
127
|
-
if (!document.fullscreenElement) {
|
|
128
|
-
ctx.emit("update:modelValue");
|
|
129
|
-
exitByKeydown = true;
|
|
130
|
-
} else {
|
|
131
|
-
exitByKeydown = false;
|
|
132
|
-
}
|
|
133
|
-
};
|
|
134
|
-
onMounted(() => {
|
|
135
|
-
document.addEventListener("fullscreenchange", handleFullscreenChange);
|
|
136
|
-
});
|
|
137
|
-
onUnmounted(() => {
|
|
138
|
-
document.removeEventListener("fullscreenchange", handleFullscreenChange);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
var fullscreen = "";
|
|
142
|
-
var Fullscreen = defineComponent({
|
|
143
|
-
name: "DFullscreen",
|
|
144
|
-
props: fullscreenProps,
|
|
145
|
-
emits: ["update:modelValue"],
|
|
146
|
-
setup(props, ctx) {
|
|
147
|
-
const slotElement = ref();
|
|
148
|
-
useFullscreen(props, slotElement, ctx);
|
|
149
|
-
useKeydown(props, ctx);
|
|
150
|
-
return () => {
|
|
151
|
-
const defaultSlot = renderSlot(useSlots(), "default");
|
|
152
|
-
return createVNode("div", {
|
|
153
|
-
"ref": slotElement
|
|
154
|
-
}, [defaultSlot]);
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
var index = {
|
|
159
|
-
title: "Fullscreen \u5168\u5C4F",
|
|
160
|
-
category: "\u901A\u7528",
|
|
161
|
-
status: "100%",
|
|
162
|
-
install(app) {
|
|
163
|
-
app.component(Fullscreen.name, Fullscreen);
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
export { Fullscreen, index as default, fullscreenProps };
|
package/fullscreen/index.umd.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(function(u,l){typeof exports=="object"&&typeof module!="undefined"?l(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],l):(u=typeof globalThis!="undefined"?globalThis:u||self,l(u.index={},u.Vue))})(this,function(u,l){"use strict";const F={modelValue:{type:Boolean,default:!1},mode:{type:String,default:"normal"},zIndex:{type:Number,default:10}},S=27;function v(e,n){const{modelValue:t}=l.toRefs(e),s=c=>{c.keyCode===S&&t&&n.emit("update:modelValue",!1)};l.onMounted(()=>{document.addEventListener("keydown",s)}),l.onUnmounted(()=>{document.removeEventListener("keydown",s)})}function i(e,n,t){let s=e;return n&&(s+=`__${n}`),t&&(s+=`--${t}`),s}function h(e,n=!1){const t=n?`.devui-${e}`:`devui-${e}`;return{b:()=>i(t),e:r=>r?i(t,r):"",m:r=>r?i(t,"",r):"",em:(r,a)=>r&&a?i(t,r,a):""}}const m=h("fullscreen"),p=(e,n)=>{e.classList.add(m.b()),n.zIndex&&e.setAttribute("style",`z-index: ${n.zIndex}`)},b=e=>{e.classList.remove(m.b()),e.style.zIndex=""},w=async e=>{let n=null;return e.requestFullscreen?n=e.requestFullscreen():e.mozRequestFullScreen?n=e.mozRequestFullScreen():e.webkitRequestFullScreen?n=Promise.resolve(e.webkitRequestFullScreen()):e.msRequestFullscreen&&(n=Promise.resolve(e.msRequestFullscreen())),await(n==null?void 0:n.then(()=>!!document.fullscreenElement))},x=async e=>{let n=null;return e.exitFullscreen?n=e.exitFullscreen():e.mozCancelFullScreen?n=e.mozCancelFullScreen():e.webkitCancelFullScreen?n=Promise.resolve(e.webkitCancelFullScreen()):e.msExitFullscreen&&(n=Promise.resolve(e.msExitFullscreen())),await(n==null?void 0:n.then(()=>!!document.fullscreenElement))},C=()=>{document.getElementsByTagName("html")[0].classList.add(m.e("html"))},q=()=>{document.getElementsByTagName("html")[0].classList.remove(m.e("html"))};function z(e,n,t){const{modelValue:s,mode:c}=l.toRefs(e);let d=!1;const y=o=>{o?(p(n.value,e),C()):(b(n.value),q())},r=o=>{o?w(n.value):d||x(document)};l.watch(s,o=>{c.value==="normal"&&y(o),c.value==="immersive"&&r(o)});const a=()=>{document.fullscreenElement?d=!1:(t.emit("update:modelValue"),d=!0)};l.onMounted(()=>{document.addEventListener("fullscreenchange",a)}),l.onUnmounted(()=>{document.removeEventListener("fullscreenchange",a)})}var N="",f=l.defineComponent({name:"DFullscreen",props:F,emits:["update:modelValue"],setup(e,n){const t=l.ref();return z(e,t,n),v(e,n),()=>{const s=l.renderSlot(l.useSlots(),"default");return l.createVNode("div",{ref:t},[s])}}}),g={title:"Fullscreen \u5168\u5C4F",category:"\u901A\u7528",status:"100%",install(e){e.component(f.name,f)}};u.Fullscreen=f,u.default=g,u.fullscreenProps=F,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
|
package/fullscreen/package.json
DELETED
package/fullscreen/style.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.devui-fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10;overflow:auto;background-color:var(--devui-base-bg, #ffffff)}.devui-fullscreen__html{overflow:hidden}:not(:root):fullscreen::backdrop{background:var(--devui-base-bg, #ffffff)}
|