vue-devui 1.0.0-beta.11 → 1.0.0-beta.15
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 +43 -18
- package/accordion/style.css +1 -1
- package/alert/index.es.js +5 -2
- package/alert/index.umd.js +1 -1
- package/auto-complete/index.d.ts +7 -0
- package/auto-complete/index.es.js +1121 -0
- package/auto-complete/index.umd.js +1 -0
- package/auto-complete/package.json +7 -0
- package/auto-complete/style.css +1 -0
- package/button/index.es.js +116 -113
- package/button/index.umd.js +1 -1
- package/button/style.css +1 -1
- package/carousel/index.es.js +5 -5
- package/carousel/index.umd.js +1 -1
- package/color-picker/index.d.ts +7 -0
- package/color-picker/index.es.js +2960 -0
- package/color-picker/index.umd.js +1 -0
- package/color-picker/package.json +7 -0
- package/color-picker/style.css +1 -0
- package/comment/index.es.js +3 -2
- package/comment/index.umd.js +1 -1
- package/comment/style.css +1 -1
- package/dragdrop/index.es.js +135 -10
- package/dragdrop/index.umd.js +1 -1
- package/drawer/index.es.js +142 -30
- package/drawer/index.umd.js +1 -1
- package/dropdown/index.es.js +30 -22
- package/dropdown/index.umd.js +1 -1
- package/dropdown/style.css +1 -1
- package/form/index.es.js +59 -17
- package/form/index.umd.js +1 -1
- package/gantt/index.es.js +3 -3
- package/gantt/index.umd.js +1 -1
- package/image-preview/index.es.js +33 -15
- package/image-preview/index.umd.js +1 -1
- package/modal/index.es.js +121 -118
- package/modal/index.umd.js +1 -1
- package/modal/style.css +1 -1
- package/nuxt/components/AutoComplete.js +3 -0
- package/nuxt/components/CarouselItem.js +3 -0
- package/nuxt/components/ColorPicker.js +3 -0
- package/nuxt/components/DrawerService.js +3 -0
- package/overlay/index.es.js +1 -1
- package/overlay/index.umd.js +1 -1
- package/package.json +21 -16
- package/popover/index.es.js +13 -4
- package/popover/index.umd.js +1 -1
- package/slider/index.es.js +2 -5
- package/slider/index.umd.js +1 -1
- package/slider/style.css +1 -1
- package/splitter/index.es.js +145 -14
- package/splitter/index.umd.js +1 -1
- package/splitter/style.css +1 -1
- package/statistic/index.es.js +2 -2
- package/statistic/index.umd.js +1 -1
- package/statistic/style.css +1 -1
- package/style.css +1 -1
- package/table/index.es.js +29 -21
- package/table/index.umd.js +1 -1
- package/table/style.css +1 -1
- package/tag/index.es.js +2 -2
- package/tag/index.umd.js +1 -1
- package/tag/style.css +1 -1
- package/time-picker/index.es.js +124 -116
- package/time-picker/index.umd.js +1 -1
- package/time-picker/style.css +1 -1
- package/toast/index.es.js +7 -4
- package/toast/index.umd.js +1 -1
- package/tooltip/index.es.js +69 -115
- package/tooltip/index.umd.js +1 -1
- package/transfer/index.es.js +570 -172
- package/transfer/index.umd.js +1 -1
- package/transfer/style.css +1 -1
- package/tree/index.es.js +6 -5
- package/tree/index.umd.js +1 -1
- package/tree-select/index.es.js +129 -34
- package/tree-select/index.umd.js +1 -1
- package/tree-select/style.css +1 -1
- package/upload/index.es.js +8 -5
- package/upload/index.umd.js +1 -1
- package/vue-devui.es.js +15782 -13138
- package/vue-devui.umd.js +14 -14
package/popover/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var B=Object.defineProperty;var M=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(o,t,r)=>t in o?B(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,T=(o,t)=>{for(var r in t||(t={}))G.call(t,r)&&S(o,r,t[r]);if(M)for(var r of M(t))J.call(t,r)&&S(o,r,t[r]);return o};(function(o,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(o=typeof globalThis!="undefined"?globalThis:o||self,t(o.index={},o.Vue))})(this,function(o,t){"use strict";var r=(e,i)=>{let n=null;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e==null||e()},i)}};const V=typeof window!="undefined";function b(e,i,n){document.addEventListener?e&&i&&n&&e.addEventListener(i,n,!1):e&&i&&n&&e.attachEvent("on"+i,n)}const a=Symbol("@@clickoutside"),p=new Map;let x,v=0,D=!0;function h(e,i,n){return V&&D&&(D=!1,b(document,"mousedown",u=>{x=u}),b(document,"mouseup",u=>{for(const[c,m]of p)m[a].documentHandler(u,x)})),function(u,c){!n||!i.instance||!u.target||!c.target||e.contains(u.target)||e.contains(c.target)||e===u.target||e[a].bindingFn&&e[a].bindingFn()}}const N={beforeMount:function(e,i,n){v++,p.set(v,e),e[a]={nid:v,documentHandler:h(e,i,n),bindingFn:i.value}},updated:function(e,i,n){e[a].documentHandler=h(e,i,n),e[a].bindingFn=i.value},unmounted:function(e){p.delete(e[a].nid),delete e[a]}};var K="";const k={success:{name:"right-o",color:"rgb(61, 204, 166)"},error:{name:"error-o",color:"rgb(249, 95, 91)"},info:{name:"info-o",color:"rgb(81, 112, 255)"},warning:{name:"warning-o",color:"rgb(254, 204, 85)"},default:{}};var l=t.defineComponent({name:"DPopover",directives:{clickoutside:N},props:{visible:{type:Boolean,default:!1},position:{type:String,default:"bottom"},content:{type:String,default:"default"},trigger:{type:String,default:"click"},zIndex:{type:Number,default:1060},controlled:{type:Boolean,default:!1},popType:{type:String,default:"default"},showAnimation:{type:Boolean,default:!0},mouseEnterDelay:{type:Number,default:150},mouseLeaveDelay:{type:Number,default:100},popMaxWidth:{type:Number,default:void 0},popoverStyle:{type:Object,default:()=>({})}},setup(e,i){const{slots:n}=i,u=t.ref(e.visible),{position:c,content:m,zIndex:F,trigger:L,popType:P,popoverStyle:z,mouseEnterDelay:A,mouseLeaveDelay:H,showAnimation:j,popMaxWidth:w,controlled:s}=t.toRefs(e),y=T({zIndex:F.value},z.value),g=L.value==="click",d=t.reactive(k[P.value]),I=function(){if(u.value){u.value=!1;return}u.value=!0},W=g&&s.value?I:null,O=r(()=>{u.value=!0},A.value),_=r(()=>{u.value=!1},H.value),q=!g&&s.value?O:null,R=!g&&s.value?_:null,$=()=>{!s.value||(u.value=!1)};return w.value&&(y.maxWidth=`${w.value}px`),t.watch(()=>e.visible,f=>{s.value||(u.value=f)}),()=>{var f,C;return t.createVNode("div",{class:["devui-popover",c.value,{"devui-popover-animation":j.value,"devui-popover-isVisible":u.value}]},[t.withDirectives(t.createVNode("div",{class:"devui-popover-reference",onMouseenter:q,onMouseleave:R,onClick:W},[(f=n.reference)==null?void 0:f.call(n)]),[[t.resolveDirective("clickoutside"),$]]),t.createVNode("div",{class:["devui-popover-content",d.name?"is-icon":""],style:y},[d.name&&t.createVNode(t.resolveComponent("d-icon"),{name:d.name,color:d.color,class:"devui-popover-icon",size:"16px"},null),((C=n.content)==null?void 0:C.call(n))||t.createVNode("span",null,[m.value]),t.createVNode("span",{class:"after",style:y},null)])])}}});l.install=function(e){e.component(l.name,l)};var E={title:"Popover \u60AC\u6D6E\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(e){e.use(l)}};o.Popover=l,o.default=E,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
|
package/slider/index.es.js
CHANGED
|
@@ -129,11 +129,8 @@ var Slider = defineComponent({
|
|
|
129
129
|
inputValue.value = props.min;
|
|
130
130
|
percentDispaly.value = "0%";
|
|
131
131
|
} else {
|
|
132
|
-
if (inputValue.value < props.min) {
|
|
133
|
-
|
|
134
|
-
}
|
|
135
|
-
if (inputValue.value > props.max) {
|
|
136
|
-
inputValue.value = props.max;
|
|
132
|
+
if (inputValue.value < props.min || inputValue.value > props.max) {
|
|
133
|
+
return;
|
|
137
134
|
}
|
|
138
135
|
const re = /^(?:[1-9]?\d|100)$/;
|
|
139
136
|
if (re.test(`${inputValue.value}`)) {
|
package/slider/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(a,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(a=typeof globalThis!="undefined"?globalThis:a||self,t(a.index={},a.Vue))})(this,function(a,t){"use strict";const
|
|
1
|
+
(function(a,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(a=typeof globalThis!="undefined"?globalThis:a||self,t(a.index={},a.Vue))})(this,function(a,t){"use strict";const g={disabled:{type:Boolean,default:!1},max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:0},showInput:{type:Boolean,default:!1},step:{type:Number,default:1},tipsRenderer:{type:String,default:""}};var R="",o=t.defineComponent({name:"DSlider",props:g,emits:["update:modelValue"],setup(e,v){let m=!0,f=0,s=0;const d=t.ref(!1),V=t.ref(null),l=t.ref(e.modelValue),r=t.ref(0),h=t.ref(0),u=t.ref(""),S=()=>e.showInput?t.createVNode("div",{class:"devui-input__out-wrap"},[t.createVNode("input",{onInput:D,value:l.value+""},null)]):"";e.modelValue>e.max?u.value="100%":e.modelValue<e.min?u.value="0%":u.value=(e.modelValue-e.min)*100/(e.max-e.min)+"%",t.onMounted(()=>{const n=V.value.clientWidth;r.value=n*(l.value-e.min)/(e.max-e.min)});function M(n){d.value=!0,!e.disabled&&(n.preventDefault(),E(n),window.addEventListener("mousemove",N),window.addEventListener("mouseup",_))}function E(n){m=!1,s=n.clientX,f=r.value,h.value=f}function N(n){d.value=!0;const c=n.clientX-s;h.value=f+c,b(h.value)}function _(){d.value=!1,setTimeout(()=>{m=!0},100),window.removeEventListener("mousemove",N),window.removeEventListener("mouseup",_)}function b(n){const i=Math.round(V.value.clientWidth);n<0&&(n=0);const c=i/((e.max-e.min)/e.step),y=Math.round(n/c)*c;if(Math.round(y)>=i){r.value=i,l.value=e.max,u.value="100%",v.emit("update:modelValue",e.max);return}u.value=Math.round(y*100/i)+"%",l.value=Math.round(y*(e.max-e.min)/i)+e.min,r.value=n,v.emit("update:modelValue",l.value)}function X(n){if(!e.disabled&&m){s=n.target.getBoundingClientRect().left;const i=n.clientX;b(i-s),M(n)}else return}function D(n){if(l.value=parseInt(n.target.value),!l.value)l.value=e.min,u.value="0%";else{if(l.value<e.min||l.value>e.max)return;/^(?:[1-9]?\d|100)$/.test(`${l.value}`)&&(u.value=(l.value-e.min)*100/(e.max-e.min)+"%",v.emit("update:modelValue",l.value))}}const w=t.computed(()=>e.disabled?" disabled":""),I=()=>t.createVNode("div",{class:"devui-slider_popover",style:{left:u.value,opacity:d.value?1:0}},[t.createVNode("div",{class:"devui-slider_popover-arrow"},null),t.createVNode("div",{class:"devui-slider_popover-content"},[l.value+" "+e.tipsRenderer])]);return()=>t.createVNode("div",{class:"devui-slider"},[t.createVNode("div",{ref:V,class:"devui-slider__runway"+w.value,onMousedown:X,onMouseout:()=>d.value=!1},[t.createVNode("div",{class:"devui-slider__bar"+w.value,style:{width:u.value}},null),t.createVNode("div",{class:"devui-slider__button"+w.value,style:{left:u.value},onMousedown:M,onMouseenter:()=>d.value=!0,onMouseout:()=>d.value=!1},null),e.tipsRenderer==="null"?"":I()]),t.createVNode("span",{class:"devui-min_count"},[e.min]),t.createVNode("span",{class:"devui-max_count"},[e.max]),S()])}});o.install=function(e){e.component(o.name,o)};var x={title:"Slider \u6ED1\u5757",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.use(o)}};a.Slider=o,a.default=x,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
|
package/slider/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.devui-slider{position:relative;width:90%;display:block}.devui-slider.disabled{cursor:not-allowed;background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway{position:relative;width:100%;padding:4px 0;margin:4px 0;cursor:pointer;box-sizing:border-box;height:5px;display:flex;align-items:center;background-color:var(--devui-default-bg, #f3f6f8)}.devui-slider__runway.disabled{cursor:not-allowed}.devui-slider__runway .devui-slider__bar{height:6px;background-color:var(--devui-default-line, #5e7ce0);border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);position:absolute}.devui-slider__runway .devui-slider__bar.disabled{background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__bar.disabled:hover{cursor:not-allowed}.devui-slider__runway .devui-slider__button{position:absolute;width:14px;height:14px;border:2px solid var(--devui-default-line, #5e7ce0);background-color:var(--devui-base-bg, #ffffff);border-radius:50%;margin-left:-7px;transition:transform .2s ease-in-out}.devui-slider__runway .devui-slider__button:hover{transform:scale(1.2)}.devui-slider__runway .devui-slider__button.disabled{background-color:var(--devui-base-bg, #ffffff);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__button.disabled:hover{cursor:not-allowed;transform:none}.devui-slider__runway .devui-slider_popover{position:relative;bottom:26px;transform:translate(-50%);border-radius:var(--devui-border-radius-feedback, 4px);font-size:var(--devui-font-size-sm, 12px);color:var(--devui-feedback-overlay-text, #dfe1e6)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-arrow{position:absolute;left:50%;margin-left:-4px;bottom:-4px;width:8px;height:8px;transform:rotate(45deg);display:block;z-index:-1;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-content{padding:5px 14px;text-align:center;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider .devui-min_count{position:absolute;top:15px;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-max_count{position:absolute;top:15px;right:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-input__out-wrap{font-size:var(--devui-font-size, 12px);position:absolute;right:-60px;top:-12px;padding:5px 10px;cursor:text;margin-left:20px}.devui-slider .devui-input__out-wrap input{width:40px;text-align:center}
|
|
1
|
+
.devui-slider{position:relative;width:90%;display:block}.devui-slider.disabled{cursor:not-allowed;background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway{position:relative;width:100%;padding:4px 0;margin:4px 0;cursor:pointer;box-sizing:border-box;height:5px;display:flex;align-items:center;background-color:var(--devui-default-bg, #f3f6f8)}.devui-slider__runway.disabled{cursor:not-allowed}.devui-slider__runway .devui-slider__bar{height:6px;background-color:var(--devui-default-line, #5e7ce0);border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);position:absolute}.devui-slider__runway .devui-slider__bar.disabled{background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__bar.disabled:hover{cursor:not-allowed}.devui-slider__runway .devui-slider__button{position:absolute;width:14px;height:14px;border:2px solid var(--devui-default-line, #5e7ce0);background-color:var(--devui-base-bg, #ffffff);border-radius:50%;margin-left:-7px;transition:transform .2s ease-in-out}.devui-slider__runway .devui-slider__button:hover{transform:scale(1.2)}.devui-slider__runway .devui-slider__button.disabled{background-color:var(--devui-base-bg, #ffffff);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__button.disabled:hover{cursor:not-allowed;transform:none}.devui-slider__runway .devui-slider_popover{position:relative;bottom:26px;transform:translate(-50%);border-radius:var(--devui-border-radius-feedback, 4px);font-size:var(--devui-font-size-sm, 12px);color:var(--devui-feedback-overlay-text, #dfe1e6)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-arrow{position:absolute;left:50%;margin-left:-4px;bottom:-4px;width:8px;height:8px;transform:rotate(45deg);display:block;z-index:-1;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-content{padding:5px 14px;text-align:center;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider .devui-min_count{position:absolute;top:15px;left:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-max_count{position:absolute;top:15px;right:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-input__out-wrap{font-size:var(--devui-font-size, 12px);position:absolute;right:-60px;top:-12px;padding:5px 10px;cursor:text;margin-left:20px}.devui-slider .devui-input__out-wrap input{width:40px;text-align:center}
|
package/splitter/index.es.js
CHANGED
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
|
-
import { defineComponent,
|
|
7
|
+
import { defineComponent, reactive, ref, onMounted, onBeforeUnmount, renderSlot, useSlots, createVNode, inject, watch, computed, withDirectives, provide, onUnmounted, resolveComponent, onUpdated } from "vue";
|
|
8
8
|
const splitterProps = {
|
|
9
9
|
orientation: {
|
|
10
10
|
type: String,
|
|
@@ -23,6 +23,118 @@ const splitterProps = {
|
|
|
23
23
|
default: true
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
|
+
const tooltipProps = {
|
|
27
|
+
position: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: "top"
|
|
30
|
+
},
|
|
31
|
+
showAnimation: {
|
|
32
|
+
type: Boolean,
|
|
33
|
+
default: true
|
|
34
|
+
},
|
|
35
|
+
content: {
|
|
36
|
+
type: String
|
|
37
|
+
},
|
|
38
|
+
mouseLeaveDelay: {
|
|
39
|
+
type: String,
|
|
40
|
+
default: "150"
|
|
41
|
+
},
|
|
42
|
+
mouseEnterDelay: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: "100"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var tooltip = "";
|
|
48
|
+
var DToolTip = defineComponent({
|
|
49
|
+
name: "DTooltip",
|
|
50
|
+
props: tooltipProps,
|
|
51
|
+
setup(props) {
|
|
52
|
+
const position = reactive({
|
|
53
|
+
left: 0,
|
|
54
|
+
top: 0
|
|
55
|
+
});
|
|
56
|
+
const arrowStyle = (attr, value) => {
|
|
57
|
+
document.getElementById("devui-arrow").style[attr] = value;
|
|
58
|
+
};
|
|
59
|
+
const slotElement = ref(null);
|
|
60
|
+
onMounted(() => {
|
|
61
|
+
slotElement.value.children[0].onmouseenter = function() {
|
|
62
|
+
const tooltip2 = document.createElement("div");
|
|
63
|
+
const arrow = document.createElement("div");
|
|
64
|
+
const tooltipcontent = document.createElement("div");
|
|
65
|
+
tooltip2.classList.add("tooltip");
|
|
66
|
+
arrow.classList.add("arrow");
|
|
67
|
+
tooltipcontent.classList.add("tooltipcontent");
|
|
68
|
+
arrow.id = "devui-arrow";
|
|
69
|
+
tooltip2.id = "devui-tooltip1";
|
|
70
|
+
setTimeout(() => {
|
|
71
|
+
document.getElementById("devui-tooltip").appendChild(tooltip2);
|
|
72
|
+
tooltip2.appendChild(arrow);
|
|
73
|
+
tooltip2.appendChild(tooltipcontent);
|
|
74
|
+
tooltipcontent.innerHTML = props.content;
|
|
75
|
+
tooltip2.style.opacity = "1";
|
|
76
|
+
tooltip2.style.zIndex = "999";
|
|
77
|
+
arrow.style.border = "5px solid transparent";
|
|
78
|
+
switch (props.position) {
|
|
79
|
+
case "top":
|
|
80
|
+
position.left = slotElement.value.children[0].offsetLeft - tooltip2.offsetWidth / 2 + slotElement.value.children[0].offsetWidth / 2 - 5;
|
|
81
|
+
position.top = slotElement.value.children[0].offsetTop - 10 - tooltipcontent.offsetHeight;
|
|
82
|
+
arrow.style.top = `${tooltipcontent.offsetHeight}px`;
|
|
83
|
+
arrow.style.left = `${tooltipcontent.offsetWidth / 2 + 5}px`;
|
|
84
|
+
arrow.style.borderTop = "5px solid rgb(70, 77, 110)";
|
|
85
|
+
break;
|
|
86
|
+
case "bottom":
|
|
87
|
+
position.top = slotElement.value.children[0].offsetHeight + slotElement.value.children[0].offsetTop + 10;
|
|
88
|
+
position.left = slotElement.value.children[0].offsetLeft + slotElement.value.children[0].offsetWidth / 2 - tooltipcontent.offsetWidth / 2 - 5;
|
|
89
|
+
arrowStyle("borderBottom", "5px solid rgb(70, 77, 110)");
|
|
90
|
+
arrow.style.top = "-10px";
|
|
91
|
+
arrow.style.left = `${tooltipcontent.offsetWidth / 2 + 5}px`;
|
|
92
|
+
arrow.style.borderBottom = "5px solid rgb(70, 77, 110)";
|
|
93
|
+
break;
|
|
94
|
+
case "left":
|
|
95
|
+
position.top = slotElement.value.children[0].offsetTop + slotElement.value.children[0].offsetHeight / 2 - tooltipcontent.offsetHeight / 2;
|
|
96
|
+
position.left = slotElement.value.children[0].offsetLeft - 20 - tooltipcontent.offsetWidth;
|
|
97
|
+
arrowStyle("borderLeft", "5px solid rgb(70, 77, 110)");
|
|
98
|
+
arrow.style.left = `${tooltipcontent.offsetWidth + 10}px`;
|
|
99
|
+
arrow.style.top = `${tooltipcontent.offsetHeight / 2 - 5}px`;
|
|
100
|
+
arrow.style.borderLeft = "5px solid rgb(70, 77, 110)";
|
|
101
|
+
break;
|
|
102
|
+
case "right":
|
|
103
|
+
position.left = slotElement.value.children[0].offsetLeft + slotElement.value.children[0].offsetWidth;
|
|
104
|
+
position.top = slotElement.value.children[0].offsetTop + slotElement.value.children[0].offsetHeight / 2 - tooltipcontent.offsetHeight / 2;
|
|
105
|
+
arrowStyle("borderRight", "5px solid rgb(70, 77, 110)");
|
|
106
|
+
arrow.style.top = `${tooltipcontent.offsetHeight / 2 - 5}px`;
|
|
107
|
+
arrow.style.left = "-0px";
|
|
108
|
+
arrow.style.borderRight = "5px solid rgb(70, 77, 110)";
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
tooltip2.style.top = position.top + 5 + "px";
|
|
112
|
+
tooltip2.style.left = position.left + "px";
|
|
113
|
+
}, props.mouseEnterDelay);
|
|
114
|
+
};
|
|
115
|
+
slotElement.value.children[0].onmouseleave = function() {
|
|
116
|
+
setTimeout(() => {
|
|
117
|
+
document.getElementById("devui-tooltip1").removeChild(document.getElementById("devui-arrow"));
|
|
118
|
+
document.getElementById("devui-tooltip").removeChild(document.getElementById("devui-tooltip1"));
|
|
119
|
+
}, props.mouseLeaveDelay);
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
onBeforeUnmount(() => {
|
|
123
|
+
slotElement.value.children[0].onmouseenter = null;
|
|
124
|
+
slotElement.value.children[0].onmouseleave = null;
|
|
125
|
+
});
|
|
126
|
+
return () => {
|
|
127
|
+
const defaultSlot = renderSlot(useSlots(), "default");
|
|
128
|
+
return createVNode("div", {
|
|
129
|
+
"class": "devui-tooltip",
|
|
130
|
+
"id": "devui-tooltip"
|
|
131
|
+
}, [createVNode("div", {
|
|
132
|
+
"class": "slotElement",
|
|
133
|
+
"ref": slotElement
|
|
134
|
+
}, [defaultSlot])]);
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
});
|
|
26
138
|
function setStyle(element, style) {
|
|
27
139
|
const oldStyle = {};
|
|
28
140
|
const styleKeys = Object.keys(style);
|
|
@@ -111,7 +223,6 @@ function normalizeEvent(e) {
|
|
|
111
223
|
originalEvent: e
|
|
112
224
|
};
|
|
113
225
|
}
|
|
114
|
-
var splitterBar = "";
|
|
115
226
|
const splitterBarProps = {
|
|
116
227
|
index: {
|
|
117
228
|
type: Number
|
|
@@ -132,9 +243,13 @@ const splitterBarProps = {
|
|
|
132
243
|
type: Boolean
|
|
133
244
|
}
|
|
134
245
|
};
|
|
246
|
+
var splitterBar = "";
|
|
135
247
|
var DSplitterBar = defineComponent({
|
|
136
248
|
name: "DSplitterBar",
|
|
137
249
|
props: splitterBarProps,
|
|
250
|
+
components: {
|
|
251
|
+
DToolTip
|
|
252
|
+
},
|
|
138
253
|
setup(props) {
|
|
139
254
|
const store = inject("splitterStore");
|
|
140
255
|
const state = reactive({
|
|
@@ -279,21 +394,38 @@ var DSplitterBar = defineComponent({
|
|
|
279
394
|
onMounted(() => {
|
|
280
395
|
initialCollapseStatus();
|
|
281
396
|
});
|
|
397
|
+
const renderCollapsedTip = () => {
|
|
398
|
+
var _a, _b, _c, _d;
|
|
399
|
+
const {
|
|
400
|
+
pane,
|
|
401
|
+
nearPane
|
|
402
|
+
} = queryPanes(props.index, props.index + 1);
|
|
403
|
+
const isCollapsed = ((_b = (_a = pane == null ? void 0 : pane.component) == null ? void 0 : _a.props) == null ? void 0 : _b.collapsed) || ((_d = (_c = nearPane == null ? void 0 : nearPane.component) == null ? void 0 : _c.props) == null ? void 0 : _d.collapsed);
|
|
404
|
+
return isCollapsed ? "\u5C55\u5F00" : "\u6536\u8D77";
|
|
405
|
+
};
|
|
282
406
|
return () => {
|
|
283
407
|
return withDirectives(createVNode("div", {
|
|
284
408
|
"class": state.wrapperClass,
|
|
285
409
|
"ref": domRef
|
|
286
|
-
}, [props.showCollapseButton
|
|
287
|
-
"
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
410
|
+
}, [props.showCollapseButton && createVNode(DToolTip, {
|
|
411
|
+
"content": renderCollapsedTip()
|
|
412
|
+
}, {
|
|
413
|
+
default: () => [createVNode("div", {
|
|
414
|
+
"class": ["prev", prevClass.value],
|
|
415
|
+
"onClick": () => {
|
|
416
|
+
handleCollapsePrePane();
|
|
417
|
+
}
|
|
418
|
+
}, null)]
|
|
419
|
+
}), createVNode("div", {
|
|
292
420
|
"class": "devui-resize-handle"
|
|
293
|
-
}, null), props.showCollapseButton
|
|
294
|
-
"
|
|
295
|
-
|
|
296
|
-
|
|
421
|
+
}, null), props.showCollapseButton && createVNode(DToolTip, {
|
|
422
|
+
"content": renderCollapsedTip()
|
|
423
|
+
}, {
|
|
424
|
+
default: () => [createVNode("div", {
|
|
425
|
+
"class": ["next", nextClass.value],
|
|
426
|
+
"onClick": () => handleCollapseNextPane()
|
|
427
|
+
}, null)]
|
|
428
|
+
})]), [[resize, resizeProp]]);
|
|
297
429
|
};
|
|
298
430
|
}
|
|
299
431
|
});
|
|
@@ -571,8 +703,7 @@ var SplitterPane = defineComponent({
|
|
|
571
703
|
return ele.offsetWidth;
|
|
572
704
|
}
|
|
573
705
|
};
|
|
574
|
-
watch(() => props.collapsed, (collapsed) => {
|
|
575
|
-
const ele = domRef.value;
|
|
706
|
+
watch([() => props.collapsed, domRef], ([collapsed, ele]) => {
|
|
576
707
|
if (!ele) {
|
|
577
708
|
return;
|
|
578
709
|
}
|
package/splitter/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var U=Object.defineProperty;var _=(g,o,v)=>o in g?U(g,o,{enumerable:!0,configurable:!0,writable:!0,value:v}):g[o]=v;var k=(g,o,v)=>(_(g,typeof o!="symbol"?o+"":o,v),v);(function(g,o){typeof exports=="object"&&typeof module!="undefined"?o(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],o):(g=typeof globalThis!="undefined"?globalThis:g||self,o(g.index={},g.Vue))})(this,function(g,o){"use strict";const v={orientation:{type:String,default:"horizontal"},splitBarSize:{type:String,default:"2px"},disabledBarSize:{type:String,default:"1px"},showCollapseButton:{type:Boolean,default:!0}};function b(t,e){const i={},s=Object.keys(e);return s.forEach(n=>{i[n]=t.style[n]}),s.forEach(n=>{t.style[n]=e[n]}),i}function R(t,e){return t.classList?t.classList.contains(e):` ${t.className} `.indexOf(` ${e} `)>-1}function X(t,e){t.classList?t.classList.add(e):R(t,e)||(t.className=`${t.className} ${e}`)}function y(t,e){if(t.classList)t.classList.remove(e);else if(R(t,e)){const i=t.className;t.className=` ${i} `.replace(` ${e} `," ")}}const F={mounted(t,{value:e}){t.$value=e,e.enableResize&&H(t)},unmounted(t,{value:e}){e.enableResize&&$(t,"mousedown",L)}};function H(t){N(t,"mousedown",L)}function N(t,e,i){t.addEventListener&&t.addEventListener(e,i)}function $(t,e,i){t.removeEventListener&&t.removeEventListener(e,i)}function L(t){var n;const e=(n=t==null?void 0:t.target)==null?void 0:n.$value;if(!e)return;N(document,"mousemove",i),N(document,"mouseup",s),e.onPressEvent(E(t));function i(p){e.onDragEvent(E(p))}function s(p){$(document,"mousemove",i),$(document,"mouseup",s),e.onReleaseEvent(E(p))}}function E(t){return{pageX:t.pageX,pageY:t.pageY,clientX:t.clientX,clientY:t.clientY,offsetX:t.offsetX,offsetY:t.offsetY,type:t.type,originalEvent:t}}var K="";const T={index:{type:Number},orientation:{type:String,required:!0},splitBarSize:{type:String,required:!0},disabledBarSize:{type:String,default:"1px"},showCollapseButton:{type:Boolean}};var q=o.defineComponent({name:"DSplitterBar",props:T,setup(t){const e=o.inject("splitterStore"),i=o.reactive({wrapperClass:`devui-splitter-bar devui-splitter-bar-${t.orientation}`}),s=o.ref();o.watch([()=>t.splitBarSize,s],([a,c])=>{c instanceof HTMLElement&&b(c,{flexBasis:a})},{immediate:!0}),o.watch([()=>e.state.panes,s],([a,c])=>{e.isStaticBar(t.index)?b(c,{flexBasis:t.disabledBarSize}):i.wrapperClass+=" resizable"},{deep:!0});const n={pageX:0,pageY:0,originalX:0,originalY:0};let p;const d={enableResize:!0,onPressEvent:function({originalEvent:a}){a.stopPropagation(),!!e.isResizable(t.index)&&(p=e.dragState(t.index),n.originalX=a.pageX,n.originalY=a.pageY)},onDragEvent:function({originalEvent:a}){if(a.stopPropagation(),!e.isResizable(t.index))return;n.pageX=a.pageX,n.pageY=a.pageY;let c;t.orientation==="vertical"?c=n.pageY-n.originalY:c=n.pageX-n.originalX,e.setSize(p,c)},onReleaseEvent:function({originalEvent:a}){if(a.stopPropagation(),!e.isResizable(t.index))return;n.pageX=a.pageX,n.pageY=a.pageY;let c;t.orientation==="vertical"?c=n.pageY-n.originalY:c=n.pageX-n.originalX,e.setSize(p,c)}},f=(a,c)=>{const x=e.getPane(a),h=e.getPane(c);return{pane:x,nearPane:h}},z=(a,c,x)=>{var B,M,V,j;const h=((M=(B=a==null?void 0:a.component)==null?void 0:B.props)==null?void 0:M.collapsible)&&x,C=(j=(V=a==null?void 0:a.component)==null?void 0:V.props)==null?void 0:j.collapsed,Y=c.collapsed;return{"devui-collapse":h,collapsed:C,hidden:Y}},m=o.computed(()=>{var h,C;const{pane:a,nearPane:c}=f(t.index,t.index+1),x=((C=(h=a==null?void 0:a.component)==null?void 0:h.props)==null?void 0:C.collapseDirection)!=="after"||t.index===0;return z(a,c,x)}),S=o.computed(()=>{var h,C;const{pane:a,nearPane:c}=f(t.index+1,t.index),x=((C=(h=a==null?void 0:a.component)==null?void 0:h.props)==null?void 0:C.collapseDirection)!=="before"||t.index+1===e.state.paneCount-1;return z(a,c,x)}),l=()=>{var h,C,Y,B;const{pane:a,nearPane:c}=f(t.index,t.index+1);((C=(h=a==null?void 0:a.component)==null?void 0:h.props)==null?void 0:C.collapsed)||((B=(Y=c==null?void 0:c.component)==null?void 0:Y.props)==null?void 0:B.collapsed)?X(s.value,"none-resizable"):y(s.value,"none-resizable")},r=a=>{e.tooglePane(t.index,t.index+1,a),l()},u=a=>{e.tooglePane(t.index+1,t.index,a),l()},P=()=>{r(!0),u(!0)};return o.onMounted(()=>{P()}),()=>o.withDirectives(o.createVNode("div",{class:i.wrapperClass,ref:s},[t.showCollapseButton?o.createVNode("div",{class:["prev",m.value],onClick:()=>{r()}},null):null,o.createVNode("div",{class:"devui-resize-handle"},null),t.showCollapseButton?o.createVNode("div",{class:["next",S.value],onClick:()=>u()},null):null]),[[F,d]])}});class G{constructor(){k(this,"state");this.state=o.reactive({panes:[],splitterContainerSize:0,paneCount:0})}setPanes({panes:e}){this.state.panes=e.map((i,s)=>{var n;return i.component&&(i.component.exposed.order.value=s*2),i.getPaneSize=(n=i==null?void 0:i.component)==null?void 0:n.exposed.getPaneSize,i}),this.state.paneCount=e.length}setSplitter({containerSize:e}){this.state.splitterContainerSize=e}getPane(e){if(!this.state.panes||e<0||e>=this.state.panes.length)throw new Error("no pane can return.");return this.state.panes[e]}dragState(e){const i=this.getPane(e),s=this.getPane(e+1),n=i.getPaneSize()+s.getPaneSize();return{prev:{index:e,initialSize:i.getPaneSize(),minSize:this.toPixels(i.component.props.minSize)||n-this.toPixels(s.component.props.maxSize)||0,maxSize:this.toPixels(i.component.props.maxSize)||n-this.toPixels(s.component.props.minSize)||n},next:{index:e+1,initialSize:s.getPaneSize(),minSize:this.toPixels(s.component.props.minSize)||n-this.toPixels(i.component.props.maxSize)||0,maxSize:this.toPixels(s.component.props.maxSize)||n-this.toPixels(i.component.props.minSize)||n}}}clamp(e,i,s){return Math.min(i,Math.max(e,s))}resize(e,i){const s=this.getPane(e.index),n=this.state.splitterContainerSize,p=this.clamp(e.minSize,e.maxSize,e.initialSize+i);let d="";this.isPercent(s.component.props.size)?d=p/n*100+"%":d=p+"px",s.component.props.size=d,s.component.emit("sizeChange",d)}isResizable(e){var p,d,f,z,m,S,l,r;const i=this.getPane(e),s=this.getPane(e+1),n=((d=(p=i==null?void 0:i.component)==null?void 0:p.props)==null?void 0:d.collapsed)||((z=(f=s==null?void 0:s.component)==null?void 0:f.props)==null?void 0:z.collapsed);return((S=(m=i==null?void 0:i.component)==null?void 0:m.props)==null?void 0:S.resizable)&&((r=(l=s==null?void 0:s.component)==null?void 0:l.props)==null?void 0:r.resizable)&&!n}isStaticBar(e){var n,p,d,f;const i=this.getPane(e),s=this.getPane(e+1);return!(((p=(n=i==null?void 0:i.component)==null?void 0:n.props)==null?void 0:p.resizable)&&((f=(d=s==null?void 0:s.component)==null?void 0:d.props)==null?void 0:f.resizable))}isPercent(e){return/%$/.test(e)}toPixels(e){let i=parseFloat(e);return this.isPercent(e)&&(i=this.state.splitterContainerSize*i/100),i}tooglePane(e,i,s){var d,f,z,m,S,l,r,u,P,a,c,x,h;const n=this.getPane(e),p=this.getPane(i);((f=(d=n==null?void 0:n.component)==null?void 0:d.props)==null?void 0:f.collapsible)&&(n.component.props.collapsed=s?(m=(z=n==null?void 0:n.component)==null?void 0:z.props)==null?void 0:m.collapsed:!((l=(S=n==null?void 0:n.component)==null?void 0:S.props)==null?void 0:l.collapsed),(a=(r=p==null?void 0:p.component)==null?void 0:r.exposed)==null||a.toggleNearPaneFlexGrow((P=(u=n==null?void 0:n.component)==null?void 0:u.props)==null?void 0:P.collapsed),(h=n==null?void 0:n.component)==null||h.emit("collapsedChange",(x=(c=n==null?void 0:n.component)==null?void 0:c.props)==null?void 0:x.collapsed))}setSize(e,i){const s=this.getPane(e.prev.index),n=this.getPane(e.next.index);s.component.props.size&&n.component.props.size?(this.resize(e.prev,i),this.resize(e.next,-i)):n.component.props.size?this.resize(e.next,-i):this.resize(e.prev,i)}}var A="",w=o.defineComponent({name:"DSplitter",components:{DSplitterBar:q},props:v,emits:[],setup(t,e){var f,z;const i=new G,s=o.reactive({panes:[]});s.panes=((z=(f=e.slots).DSplitterPane)==null?void 0:z.call(f))||[],i.setPanes({panes:s.panes}),o.provide("orientation",t.orientation),o.provide("splitterStore",i);const n=o.ref(),p=()=>{if(!n)return;let m=0;t.orientation==="vertical"?m=n.value.clientHeight:m=n.value.clientWidth,i.setSplitter({containerSize:m})},d=new ResizeObserver(p);return o.watch(n,m=>{!m||(p(),d.observe(n.value))}),o.onUnmounted(()=>{d.disconnect()}),()=>{const{splitBarSize:m,orientation:S,showCollapseButton:l}=t,r=["devui-splitter",`devui-splitter-${S}`];return o.createVNode("div",{class:r,ref:n},[s.panes,s.panes.filter((u,P,a)=>P!==a.length-1).map((u,P)=>o.createVNode(o.resolveComponent("d-splitter-bar"),{key:P,style:`order: ${P*2+1}`,splitBarSize:m,orientation:S,index:P,showCollapseButton:l},null))])}}});const O={size:{type:String},minSize:{type:String},maxSize:{type:String},resizable:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},collapseDirection:{type:String,default:"both"},shrink:{type:Boolean,default:!1},shrinkWidth:{type:Number,default:36}};var J="",D=o.defineComponent({name:"DSplitterPane",props:O,emits:["sizeChange","collapsedChange"],setup(t,{slots:e,expose:i}){const s=o.inject("splitterStore"),n=o.ref(),p=o.ref();o.watch([p,n],([l,r])=>{!r||b(r,{order:l})});const d=(l,r)=>{if(!r)return;r.style.flexBasis=l;const u="devui-splitter-pane-fixed";l?X(r,u):y(r,u)};o.watch([()=>t.size,n],([l,r])=>{d(l,r)},{immediate:!0});const f=o.inject("orientation");let z="";o.onMounted(()=>{z=t.size,s.setPanes({panes:s.state.panes})}),o.onUpdated(()=>{s.setPanes({panes:s.state.panes})});const m=()=>{const l=n.value;if(!!l)return f==="vertical"?l.offsetHeight:l.offsetWidth};return o.watch(()=>t.collapsed,l=>{const r=n.value;if(!r)return;const u="devui-splitter-pane-hidden";l?X(r,u):y(r,u),l&&t.shrink?(y(r,u),b(r,{flexBasis:`${t.shrinkWidth}px`})):b(r,{flexBasis:z})},{immediate:!0}),i({order:p,getPaneSize:m,toggleNearPaneFlexGrow:l=>{const r=n.value;if(!(r instanceof HTMLElement))return;const u="devui-splitter-pane-grow";R(r,u)?y(r,u):l&&X(r,u)}}),()=>{var l;return o.createVNode("div",{class:"devui-splitter-pane",ref:n},[(l=e.default)==null?void 0:l.call(e)])}}});w.install=function(t){t.component(w.name,w),t.component(D.name,D)};var W={title:"Splitter \u5206\u5272\u5668",category:"\u5E03\u5C40",status:"100%",install(t){t.use(w)}};g.Splitter=w,g.default=W,Object.defineProperty(g,"__esModule",{value:!0}),g[Symbol.toStringTag]="Module"});
|
|
1
|
+
var A=Object.defineProperty;var K=(h,s,P)=>s in h?A(h,s,{enumerable:!0,configurable:!0,writable:!0,value:P}):h[s]=P;var k=(h,s,P)=>(K(h,typeof s!="symbol"?s+"":s,P),P);(function(h,s){typeof exports=="object"&&typeof module!="undefined"?s(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],s):(h=typeof globalThis!="undefined"?globalThis:h||self,s(h.index={},h.Vue))})(this,function(h,s){"use strict";const P={orientation:{type:String,default:"horizontal"},splitBarSize:{type:String,default:"2px"},disabledBarSize:{type:String,default:"1px"},showCollapseButton:{type:Boolean,default:!0}},j={position:{type:String,default:"top"},showAnimation:{type:Boolean,default:!0},content:{type:String},mouseLeaveDelay:{type:String,default:"150"},mouseEnterDelay:{type:String,default:"100"}};var J="",N=s.defineComponent({name:"DTooltip",props:j,setup(t){const e=s.reactive({left:0,top:0}),i=(o,r)=>{document.getElementById("devui-arrow").style[o]=r},n=s.ref(null);return s.onMounted(()=>{n.value.children[0].onmouseenter=function(){const o=document.createElement("div"),r=document.createElement("div"),a=document.createElement("div");o.classList.add("tooltip"),r.classList.add("arrow"),a.classList.add("tooltipcontent"),r.id="devui-arrow",o.id="devui-tooltip1",setTimeout(()=>{switch(document.getElementById("devui-tooltip").appendChild(o),o.appendChild(r),o.appendChild(a),a.innerHTML=t.content,o.style.opacity="1",o.style.zIndex="999",r.style.border="5px solid transparent",t.position){case"top":e.left=n.value.children[0].offsetLeft-o.offsetWidth/2+n.value.children[0].offsetWidth/2-5,e.top=n.value.children[0].offsetTop-10-a.offsetHeight,r.style.top=`${a.offsetHeight}px`,r.style.left=`${a.offsetWidth/2+5}px`,r.style.borderTop="5px solid rgb(70, 77, 110)";break;case"bottom":e.top=n.value.children[0].offsetHeight+n.value.children[0].offsetTop+10,e.left=n.value.children[0].offsetLeft+n.value.children[0].offsetWidth/2-a.offsetWidth/2-5,i("borderBottom","5px solid rgb(70, 77, 110)"),r.style.top="-10px",r.style.left=`${a.offsetWidth/2+5}px`,r.style.borderBottom="5px solid rgb(70, 77, 110)";break;case"left":e.top=n.value.children[0].offsetTop+n.value.children[0].offsetHeight/2-a.offsetHeight/2,e.left=n.value.children[0].offsetLeft-20-a.offsetWidth,i("borderLeft","5px solid rgb(70, 77, 110)"),r.style.left=`${a.offsetWidth+10}px`,r.style.top=`${a.offsetHeight/2-5}px`,r.style.borderLeft="5px solid rgb(70, 77, 110)";break;case"right":e.left=n.value.children[0].offsetLeft+n.value.children[0].offsetWidth,e.top=n.value.children[0].offsetTop+n.value.children[0].offsetHeight/2-a.offsetHeight/2,i("borderRight","5px solid rgb(70, 77, 110)"),r.style.top=`${a.offsetHeight/2-5}px`,r.style.left="-0px",r.style.borderRight="5px solid rgb(70, 77, 110)";break}o.style.top=e.top+5+"px",o.style.left=e.left+"px"},t.mouseEnterDelay)},n.value.children[0].onmouseleave=function(){setTimeout(()=>{document.getElementById("devui-tooltip1").removeChild(document.getElementById("devui-arrow")),document.getElementById("devui-tooltip").removeChild(document.getElementById("devui-tooltip1"))},t.mouseLeaveDelay)}}),s.onBeforeUnmount(()=>{n.value.children[0].onmouseenter=null,n.value.children[0].onmouseleave=null}),()=>{const o=s.renderSlot(s.useSlots(),"default");return s.createVNode("div",{class:"devui-tooltip",id:"devui-tooltip"},[s.createVNode("div",{class:"slotElement",ref:n},[o])])}}});function B(t,e){const i={},n=Object.keys(e);return n.forEach(o=>{i[o]=t.style[o]}),n.forEach(o=>{t.style[o]=e[o]}),i}function X(t,e){return t.classList?t.classList.contains(e):` ${t.className} `.indexOf(` ${e} `)>-1}function $(t,e){t.classList?t.classList.add(e):X(t,e)||(t.className=`${t.className} ${e}`)}function E(t,e){if(t.classList)t.classList.remove(e);else if(X(t,e)){const i=t.className;t.className=` ${i} `.replace(` ${e} `," ")}}const F={mounted(t,{value:e}){t.$value=e,e.enableResize&&q(t)},unmounted(t,{value:e}){e.enableResize&&D(t,"mousedown",T)}};function q(t){Y(t,"mousedown",T)}function Y(t,e,i){t.addEventListener&&t.addEventListener(e,i)}function D(t,e,i){t.removeEventListener&&t.removeEventListener(e,i)}function T(t){var o;const e=(o=t==null?void 0:t.target)==null?void 0:o.$value;if(!e)return;Y(document,"mousemove",i),Y(document,"mouseup",n),e.onPressEvent(R(t));function i(r){e.onDragEvent(R(r))}function n(r){D(document,"mousemove",i),D(document,"mouseup",n),e.onReleaseEvent(R(r))}}function R(t){return{pageX:t.pageX,pageY:t.pageY,clientX:t.clientX,clientY:t.clientY,offsetX:t.offsetX,offsetY:t.offsetY,type:t.type,originalEvent:t}}const G={index:{type:Number},orientation:{type:String,required:!0},splitBarSize:{type:String,required:!0},disabledBarSize:{type:String,default:"1px"},showCollapseButton:{type:Boolean}};var Q="",I=s.defineComponent({name:"DSplitterBar",props:G,components:{DToolTip:N},setup(t){const e=s.inject("splitterStore"),i=s.reactive({wrapperClass:`devui-splitter-bar devui-splitter-bar-${t.orientation}`}),n=s.ref();s.watch([()=>t.splitBarSize,n],([l,p])=>{p instanceof HTMLElement&&B(p,{flexBasis:l})},{immediate:!0}),s.watch([()=>e.state.panes,n],([l,p])=>{e.isStaticBar(t.index)?B(p,{flexBasis:t.disabledBarSize}):i.wrapperClass+=" resizable"},{deep:!0});const o={pageX:0,pageY:0,originalX:0,originalY:0};let r;const a={enableResize:!0,onPressEvent:function({originalEvent:l}){l.stopPropagation(),!!e.isResizable(t.index)&&(r=e.dragState(t.index),o.originalX=l.pageX,o.originalY=l.pageY)},onDragEvent:function({originalEvent:l}){if(l.stopPropagation(),!e.isResizable(t.index))return;o.pageX=l.pageX,o.pageY=l.pageY;let p;t.orientation==="vertical"?p=o.pageY-o.originalY:p=o.pageX-o.originalX,e.setSize(r,p)},onReleaseEvent:function({originalEvent:l}){if(l.stopPropagation(),!e.isResizable(t.index))return;o.pageX=l.pageX,o.pageY=l.pageY;let p;t.orientation==="vertical"?p=o.pageY-o.originalY:p=o.pageX-o.originalX,e.setSize(r,p)}},f=(l,p)=>{const x=e.getPane(l),g=e.getPane(p);return{pane:x,nearPane:g}},S=(l,p,x)=>{var C,M,W,V;const g=((M=(C=l==null?void 0:l.component)==null?void 0:C.props)==null?void 0:M.collapsible)&&x,z=(V=(W=l==null?void 0:l.component)==null?void 0:W.props)==null?void 0:V.collapsed,w=p.collapsed;return{"devui-collapse":g,collapsed:z,hidden:w}},m=s.computed(()=>{var g,z;const{pane:l,nearPane:p}=f(t.index,t.index+1),x=((z=(g=l==null?void 0:l.component)==null?void 0:g.props)==null?void 0:z.collapseDirection)!=="after"||t.index===0;return S(l,p,x)}),y=s.computed(()=>{var g,z;const{pane:l,nearPane:p}=f(t.index+1,t.index),x=((z=(g=l==null?void 0:l.component)==null?void 0:g.props)==null?void 0:z.collapseDirection)!=="before"||t.index+1===e.state.paneCount-1;return S(l,p,x)}),d=()=>{var g,z,w,C;const{pane:l,nearPane:p}=f(t.index,t.index+1);((z=(g=l==null?void 0:l.component)==null?void 0:g.props)==null?void 0:z.collapsed)||((C=(w=p==null?void 0:p.component)==null?void 0:w.props)==null?void 0:C.collapsed)?$(n.value,"none-resizable"):E(n.value,"none-resizable")},c=l=>{e.tooglePane(t.index,t.index+1,l),d()},u=l=>{e.tooglePane(t.index+1,t.index,l),d()},v=()=>{c(!0),u(!0)};s.onMounted(()=>{v()});const b=()=>{var g,z,w,C;const{pane:l,nearPane:p}=f(t.index,t.index+1);return((z=(g=l==null?void 0:l.component)==null?void 0:g.props)==null?void 0:z.collapsed)||((C=(w=p==null?void 0:p.component)==null?void 0:w.props)==null?void 0:C.collapsed)?"\u5C55\u5F00":"\u6536\u8D77"};return()=>s.withDirectives(s.createVNode("div",{class:i.wrapperClass,ref:n},[t.showCollapseButton&&s.createVNode(N,{content:b()},{default:()=>[s.createVNode("div",{class:["prev",m.value],onClick:()=>{c()}},null)]}),s.createVNode("div",{class:"devui-resize-handle"},null),t.showCollapseButton&&s.createVNode(N,{content:b()},{default:()=>[s.createVNode("div",{class:["next",y.value],onClick:()=>u()},null)]})]),[[F,a]])}});class O{constructor(){k(this,"state");this.state=s.reactive({panes:[],splitterContainerSize:0,paneCount:0})}setPanes({panes:e}){this.state.panes=e.map((i,n)=>{var o;return i.component&&(i.component.exposed.order.value=n*2),i.getPaneSize=(o=i==null?void 0:i.component)==null?void 0:o.exposed.getPaneSize,i}),this.state.paneCount=e.length}setSplitter({containerSize:e}){this.state.splitterContainerSize=e}getPane(e){if(!this.state.panes||e<0||e>=this.state.panes.length)throw new Error("no pane can return.");return this.state.panes[e]}dragState(e){const i=this.getPane(e),n=this.getPane(e+1),o=i.getPaneSize()+n.getPaneSize();return{prev:{index:e,initialSize:i.getPaneSize(),minSize:this.toPixels(i.component.props.minSize)||o-this.toPixels(n.component.props.maxSize)||0,maxSize:this.toPixels(i.component.props.maxSize)||o-this.toPixels(n.component.props.minSize)||o},next:{index:e+1,initialSize:n.getPaneSize(),minSize:this.toPixels(n.component.props.minSize)||o-this.toPixels(i.component.props.maxSize)||0,maxSize:this.toPixels(n.component.props.maxSize)||o-this.toPixels(i.component.props.minSize)||o}}}clamp(e,i,n){return Math.min(i,Math.max(e,n))}resize(e,i){const n=this.getPane(e.index),o=this.state.splitterContainerSize,r=this.clamp(e.minSize,e.maxSize,e.initialSize+i);let a="";this.isPercent(n.component.props.size)?a=r/o*100+"%":a=r+"px",n.component.props.size=a,n.component.emit("sizeChange",a)}isResizable(e){var r,a,f,S,m,y,d,c;const i=this.getPane(e),n=this.getPane(e+1),o=((a=(r=i==null?void 0:i.component)==null?void 0:r.props)==null?void 0:a.collapsed)||((S=(f=n==null?void 0:n.component)==null?void 0:f.props)==null?void 0:S.collapsed);return((y=(m=i==null?void 0:i.component)==null?void 0:m.props)==null?void 0:y.resizable)&&((c=(d=n==null?void 0:n.component)==null?void 0:d.props)==null?void 0:c.resizable)&&!o}isStaticBar(e){var o,r,a,f;const i=this.getPane(e),n=this.getPane(e+1);return!(((r=(o=i==null?void 0:i.component)==null?void 0:o.props)==null?void 0:r.resizable)&&((f=(a=n==null?void 0:n.component)==null?void 0:a.props)==null?void 0:f.resizable))}isPercent(e){return/%$/.test(e)}toPixels(e){let i=parseFloat(e);return this.isPercent(e)&&(i=this.state.splitterContainerSize*i/100),i}tooglePane(e,i,n){var a,f,S,m,y,d,c,u,v,b,l,p,x;const o=this.getPane(e),r=this.getPane(i);((f=(a=o==null?void 0:o.component)==null?void 0:a.props)==null?void 0:f.collapsible)&&(o.component.props.collapsed=n?(m=(S=o==null?void 0:o.component)==null?void 0:S.props)==null?void 0:m.collapsed:!((d=(y=o==null?void 0:o.component)==null?void 0:y.props)==null?void 0:d.collapsed),(b=(c=r==null?void 0:r.component)==null?void 0:c.exposed)==null||b.toggleNearPaneFlexGrow((v=(u=o==null?void 0:o.component)==null?void 0:u.props)==null?void 0:v.collapsed),(x=o==null?void 0:o.component)==null||x.emit("collapsedChange",(p=(l=o==null?void 0:o.component)==null?void 0:l.props)==null?void 0:p.collapsed))}setSize(e,i){const n=this.getPane(e.prev.index),o=this.getPane(e.next.index);n.component.props.size&&o.component.props.size?(this.resize(e.prev,i),this.resize(e.next,-i)):o.component.props.size?this.resize(e.next,-i):this.resize(e.prev,i)}}var Z="",L=s.defineComponent({name:"DSplitter",components:{DSplitterBar:I},props:P,emits:[],setup(t,e){var f,S;const i=new O,n=s.reactive({panes:[]});n.panes=((S=(f=e.slots).DSplitterPane)==null?void 0:S.call(f))||[],i.setPanes({panes:n.panes}),s.provide("orientation",t.orientation),s.provide("splitterStore",i);const o=s.ref(),r=()=>{if(!o)return;let m=0;t.orientation==="vertical"?m=o.value.clientHeight:m=o.value.clientWidth,i.setSplitter({containerSize:m})},a=new ResizeObserver(r);return s.watch(o,m=>{!m||(r(),a.observe(o.value))}),s.onUnmounted(()=>{a.disconnect()}),()=>{const{splitBarSize:m,orientation:y,showCollapseButton:d}=t,c=["devui-splitter",`devui-splitter-${y}`];return s.createVNode("div",{class:c,ref:o},[n.panes,n.panes.filter((u,v,b)=>v!==b.length-1).map((u,v)=>s.createVNode(s.resolveComponent("d-splitter-bar"),{key:v,style:`order: ${v*2+1}`,splitBarSize:m,orientation:y,index:v,showCollapseButton:d},null))])}}});const U={size:{type:String},minSize:{type:String},maxSize:{type:String},resizable:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},collapseDirection:{type:String,default:"both"},shrink:{type:Boolean,default:!1},shrinkWidth:{type:Number,default:36}};var ee="",H=s.defineComponent({name:"DSplitterPane",props:U,emits:["sizeChange","collapsedChange"],setup(t,{slots:e,expose:i}){const n=s.inject("splitterStore"),o=s.ref(),r=s.ref();s.watch([r,o],([d,c])=>{!c||B(c,{order:d})});const a=(d,c)=>{if(!c)return;c.style.flexBasis=d;const u="devui-splitter-pane-fixed";d?$(c,u):E(c,u)};s.watch([()=>t.size,o],([d,c])=>{a(d,c)},{immediate:!0});const f=s.inject("orientation");let S="";s.onMounted(()=>{S=t.size,n.setPanes({panes:n.state.panes})}),s.onUpdated(()=>{n.setPanes({panes:n.state.panes})});const m=()=>{const d=o.value;if(!!d)return f==="vertical"?d.offsetHeight:d.offsetWidth};return s.watch([()=>t.collapsed,o],([d,c])=>{if(!c)return;const u="devui-splitter-pane-hidden";d?$(c,u):E(c,u),d&&t.shrink?(E(c,u),B(c,{flexBasis:`${t.shrinkWidth}px`})):B(c,{flexBasis:S})},{immediate:!0}),i({order:r,getPaneSize:m,toggleNearPaneFlexGrow:d=>{const c=o.value;if(!(c instanceof HTMLElement))return;const u="devui-splitter-pane-grow";X(c,u)?E(c,u):d&&$(c,u)}}),()=>{var d;return s.createVNode("div",{class:"devui-splitter-pane",ref:o},[(d=e.default)==null?void 0:d.call(e)])}}});L.install=function(t){t.component(L.name,L),t.component(H.name,H)};var _={title:"Splitter \u5206\u5272\u5668",category:"\u5E03\u5C40",status:"100%",install(t){t.use(L)}};h.Splitter=L,h.default=_,Object.defineProperty(h,"__esModule",{value:!0}),h[Symbol.toStringTag]="Module"});
|
package/splitter/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.devui-splitter-bar{background-color:var(--devui-dividing-line, #dfe1e6);display:flex;position:relative;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0}.devui-splitter-bar .devui-collapse{background-color:var(--devui-dividing-line, #dfe1e6);position:absolute;z-index:15;cursor:pointer}.devui-splitter-bar .devui-collapse:before,.devui-splitter-bar .devui-collapse:after{content:"";width:10px;height:2px;background:#ffffff;display:block;position:absolute}.devui-splitter-bar .devui-collapse:hover{background-color:var(--devui-brand-hover, #7693f5)}.devui-splitter-bar-horizontal .devui-collapse{width:12px;height:30px}.devui-splitter-bar-horizontal .devui-collapse.prev.hidden,.devui-splitter-bar-horizontal .devui-collapse.next.hidden{display:none}.devui-splitter-bar-horizontal .devui-collapse.prev{border-radius:0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0;left:100%}.devui-splitter-bar-horizontal .devui-collapse.prev:before,.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:before{top:9px;left:1px}.devui-splitter-bar-horizontal .devui-collapse.prev:before{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:before{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev:after,.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:after{top:18px;left:1px}.devui-splitter-bar-horizontal .devui-collapse.prev:after{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:after{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next{border-radius:var(--devui-border-radius-feedback, 4px) 0 0 var(--devui-border-radius-feedback, 4px);right:100%}.devui-splitter-bar-horizontal .devui-collapse.next:before,.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:before{top:9px;right:1px}.devui-splitter-bar-horizontal .devui-collapse.next:before{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:before{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next:after,.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:after{top:18px;right:1px}.devui-splitter-bar-horizontal .devui-collapse.next:after{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:after{transform:rotate(70deg)}.devui-splitter-bar-vertical .devui-collapse{height:12px;width:30px}.devui-splitter-bar-vertical .devui-collapse.prev.hidden,.devui-splitter-bar-vertical .devui-collapse.next.hidden{display:none}.devui-splitter-bar-vertical .devui-collapse.prev{border-radius:0 0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px);top:100%}.devui-splitter-bar-vertical .devui-collapse.prev:before,.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:before{bottom:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.prev:before{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:before{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.prev:after,.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:after{bottom:5px;left:14px}.devui-splitter-bar-vertical .devui-collapse.prev:after{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:after{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.next{border-radius:var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0 0;bottom:100%}.devui-splitter-bar-vertical .devui-collapse.next:before,.devui-splitter-bar-vertical .devui-collapse.next.collapsed:before{top:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.next:before{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.next.collapsed:before{transform:rotate(-20deg);top:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.next:after,.devui-splitter-bar-vertical .devui-collapse.next.collapsed:after{top:5px;left:14px}.devui-splitter-bar-vertical .devui-collapse.next:after{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.next.collapsed:after{transform:rotate(20deg)}.devui-splitter-bar-horizontal.resizable:not(.none-resizable):hover,.devui-splitter-bar-horizontal.resizable:not(.none-resizable):focus,.devui-splitter-bar-horizontal.resizable:not(.none-resizable):active,.devui-splitter-bar-vertical.resizable:not(.none-resizable):hover,.devui-splitter-bar-vertical.resizable:not(.none-resizable):focus,.devui-splitter-bar-vertical.resizable:not(.none-resizable):active{background-color:var(--devui-brand-hover, #7693f5)}.devui-splitter-bar-horizontal.resizable:not(.none-resizable):after,.devui-splitter-bar-vertical.resizable:not(.none-resizable):after{content:"";display:block;position:absolute;z-index:10}.devui-splitter-bar-horizontal.resizable{cursor:col-resize}.devui-splitter-bar-horizontal.resizable:after{cursor:col-resize;height:100%;width:10px;top:0}.devui-splitter-bar-vertical.resizable{cursor:row-resize}.devui-splitter-bar-vertical.resizable:after{cursor:row-resize;width:100%;height:10px;left:0}.devui-splitter{display:flex;width:100%;height:auto;position:relative;border-radius:var(--devui-border-radius, 2px)}.devui-splitter.devui-splitter-horizontal{flex-direction:row}.devui-splitter.devui-splitter-vertical{flex-direction:column}.devui-splitter-pane{position:relative;flex:1 1 auto;display:block;min-width:0;max-width:100%;min-height:0;max-height:100%}.devui-splitter-pane-fixed{flex-grow:0;flex-shrink:0}.devui-splitter-pane-hidden{flex:0!important;overflow:hidden!important}.devui-splitter-pane-grow{flex-grow:1!important}
|
|
1
|
+
.devui-tooltip{box-sizing:border-box}.devui-tooltip .tooltip{box-sizing:border-box;position:absolute;width:fit-content;transition:all .5s}.devui-tooltip .tooltip .arrow{width:0;height:0;position:absolute}.devui-tooltip .tooltip .tooltipcontent{box-sizing:border-box;padding:10px;margin-left:10px;border-radius:4px;width:fit-content;background-color:var(--devui-feedback-overlay-bg, #464d6e);color:var(--devui-feedback-overlay-text, #dfe1e6)}.devui-splitter-bar{background-color:var(--devui-dividing-line, #dfe1e6);display:flex;position:relative;align-items:center;justify-content:center;flex-grow:0;flex-shrink:0}.devui-splitter-bar .devui-collapse{background-color:var(--devui-dividing-line, #dfe1e6);position:absolute;z-index:15;cursor:pointer}.devui-splitter-bar .devui-collapse:before,.devui-splitter-bar .devui-collapse:after{content:"";width:10px;height:2px;background:#ffffff;display:block;position:absolute}.devui-splitter-bar .devui-collapse:hover{background-color:var(--devui-brand-hover, #7693f5)}.devui-splitter-bar-horizontal .devui-collapse{width:12px;height:30px}.devui-splitter-bar-horizontal .devui-collapse.prev.hidden,.devui-splitter-bar-horizontal .devui-collapse.next.hidden{display:none}.devui-splitter-bar-horizontal .devui-collapse.prev{border-radius:0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0;left:100%}.devui-splitter-bar-horizontal .devui-collapse.prev:before,.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:before{top:9px;left:1px}.devui-splitter-bar-horizontal .devui-collapse.prev:before{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:before{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev:after,.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:after{top:18px;left:1px}.devui-splitter-bar-horizontal .devui-collapse.prev:after{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.prev.collapsed:after{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next{border-radius:var(--devui-border-radius-feedback, 4px) 0 0 var(--devui-border-radius-feedback, 4px);right:100%}.devui-splitter-bar-horizontal .devui-collapse.next:before,.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:before{top:9px;right:1px}.devui-splitter-bar-horizontal .devui-collapse.next:before{transform:rotate(70deg)}.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:before{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next:after,.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:after{top:18px;right:1px}.devui-splitter-bar-horizontal .devui-collapse.next:after{transform:rotate(-70deg)}.devui-splitter-bar-horizontal .devui-collapse.next.collapsed:after{transform:rotate(70deg)}.devui-splitter-bar-vertical .devui-collapse{height:12px;width:30px}.devui-splitter-bar-vertical .devui-collapse.prev.hidden,.devui-splitter-bar-vertical .devui-collapse.next.hidden{display:none}.devui-splitter-bar-vertical .devui-collapse.prev{border-radius:0 0 var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px);top:100%}.devui-splitter-bar-vertical .devui-collapse.prev:before,.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:before{bottom:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.prev:before{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:before{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.prev:after,.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:after{bottom:5px;left:14px}.devui-splitter-bar-vertical .devui-collapse.prev:after{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.prev.collapsed:after{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.next{border-radius:var(--devui-border-radius-feedback, 4px) var(--devui-border-radius-feedback, 4px) 0 0;bottom:100%}.devui-splitter-bar-vertical .devui-collapse.next:before,.devui-splitter-bar-vertical .devui-collapse.next.collapsed:before{top:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.next:before{transform:rotate(20deg)}.devui-splitter-bar-vertical .devui-collapse.next.collapsed:before{transform:rotate(-20deg);top:5px;left:5px}.devui-splitter-bar-vertical .devui-collapse.next:after,.devui-splitter-bar-vertical .devui-collapse.next.collapsed:after{top:5px;left:14px}.devui-splitter-bar-vertical .devui-collapse.next:after{transform:rotate(-20deg)}.devui-splitter-bar-vertical .devui-collapse.next.collapsed:after{transform:rotate(20deg)}.devui-splitter-bar-horizontal.resizable:not(.none-resizable):hover,.devui-splitter-bar-horizontal.resizable:not(.none-resizable):focus,.devui-splitter-bar-horizontal.resizable:not(.none-resizable):active,.devui-splitter-bar-vertical.resizable:not(.none-resizable):hover,.devui-splitter-bar-vertical.resizable:not(.none-resizable):focus,.devui-splitter-bar-vertical.resizable:not(.none-resizable):active{background-color:var(--devui-brand-hover, #7693f5)}.devui-splitter-bar-horizontal.resizable:not(.none-resizable):after,.devui-splitter-bar-vertical.resizable:not(.none-resizable):after{content:"";display:block;position:absolute;z-index:10}.devui-splitter-bar-horizontal.resizable{cursor:col-resize}.devui-splitter-bar-horizontal.resizable:after{cursor:col-resize;height:100%;width:10px;top:0}.devui-splitter-bar-vertical.resizable{cursor:row-resize}.devui-splitter-bar-vertical.resizable:after{cursor:row-resize;width:100%;height:10px;left:0}.devui-splitter{display:flex;width:100%;height:auto;position:relative;border-radius:var(--devui-border-radius, 2px)}.devui-splitter.devui-splitter-horizontal{flex-direction:row}.devui-splitter.devui-splitter-vertical{flex-direction:column}.devui-splitter-pane{position:relative;flex:1 1 auto;display:block;min-width:0;max-width:100%;min-height:0;max-height:100%}.devui-splitter-pane-fixed{flex-grow:0;flex-shrink:0}.devui-splitter-pane-hidden{flex:0!important;overflow:hidden!important}.devui-splitter-pane-grow{flex-grow:1!important}
|
package/statistic/index.es.js
CHANGED
package/statistic/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var q=Object.defineProperty;var B=(a,e,f)=>e in a?q(a,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):a[e]=f;var s=(a,e,f)=>(B(a,typeof e!="symbol"?e+"":e,f),f);(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";const f={title:{type:String,default:""},value:{type:[Number,String]},prefix:{type:String},suffix:{type:String},precision:{type:Number},groupSeparator:{type:String,default:"
|
|
1
|
+
var q=Object.defineProperty;var B=(a,e,f)=>e in a?q(a,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):a[e]=f;var s=(a,e,f)=>(B(a,typeof e!="symbol"?e+"":e,f),f);(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";const f={title:{type:String,default:""},value:{type:[Number,String]},prefix:{type:String},suffix:{type:String},precision:{type:Number},groupSeparator:{type:String,default:""},showGroupSeparator:{type:Boolean,default:!0},titleStyle:{type:Object},contentStyle:{type:Object},animationDuration:{type:Number,default:2e3},valueFrom:{type:Number},animation:{type:Boolean,default:!1},start:{type:Boolean,default:!1},extra:{type:String,default:""},easing:{type:String,default:"easeOutCubic"},delay:{type:Number,default:0}},g=(t,i,n)=>t.replace(/\d+/,function(u){return u.replace(/(\d)(?=(\d{3})+$)/g,function(h){return h+`${n?i:""}`})}),w=t=>{if(!isNaN(t))return(t+"").indexOf(".")!==-1},C=(t,i,n,r,u)=>{const h=i.toString().indexOf(".")!==-1?i.toString().length-i.toString().indexOf(".")-1:0;return typeof t=="number"?w(t)?g(r?t.toFixed(r).toString():t.toFixed(h).toString(),n,u):g(r?t.toFixed(r).toString():t.toString(),n,u):t},c=Math.pow,v=Math.sqrt,D=function(t){return 1-c(1-t,3)},E=t=>t,V=function(t){return t===1?1:1-c(2,-10*t)},A=function(t){return t===0?0:t===1?1:t<.5?c(2,20*t-10)/2:(2-c(2,-20*t+10))/2},I=function(t){return t===0?0:c(2,10*t-10)},M=function(t){return t<.5?(1-v(1-c(2*t,2)))/2:(v(1-c(-2*t+2,2))+1)/2};var _=Object.freeze({__proto__:null,[Symbol.toStringTag]:"Module",easeOutCubic:D,linear:E,easeOutExpo:V,easeInOutExpo:A,easeInExpo:I,easeInOutCirc:M});class j{constructor(i){s(this,"from");s(this,"to");s(this,"duration");s(this,"delay");s(this,"easing");s(this,"onStart");s(this,"onUpdate");s(this,"onFinish");s(this,"startTime");s(this,"started");s(this,"finished");s(this,"timer");s(this,"time");s(this,"elapsed");s(this,"keys");const{from:n,to:r,duration:u,delay:h,easing:S,onStart:l,onUpdate:d,onFinish:m}=i;for(const o in n)r[o]===void 0&&(r[o]=n[o]);for(const o in r)n[o]===void 0&&(n[o]=r[o]);this.from=n,this.to=r,this.duration=u,this.delay=h,this.easing=S,this.onStart=l,this.onUpdate=d,this.onFinish=m,this.startTime=Date.now()+this.delay,this.started=!1,this.finished=!1,this.timer=null,this.keys={}}update(){if(this.time=Date.now(),!(this.time<this.startTime)&&!this.finished){if(this.elapsed===this.duration){this.finished||(this.finished=!0,this.onFinish&&this.onFinish(this.keys));return}this.elapsed=this.time-this.startTime,this.elapsed=this.elapsed>this.duration?this.duration:this.elapsed;for(const i in this.to)this.keys[i]=this.from[i]+(this.to[i]-this.from[i])*_[this.easing](this.elapsed/this.duration);this.started||(this.onStart&&this.onStart(this.keys),this.started=!0),this.onUpdate(this.keys)}}start(){this.startTime=Date.now()+this.delay;const i=()=>{this.update(),this.timer=requestAnimationFrame(i),this.finished&&(cancelAnimationFrame(this.timer),this.timer=null)};i()}stop(){cancelAnimationFrame(this.timer),this.timer=null}}var $="",y=e.defineComponent({name:"DStatistic",inheritAttrs:!1,props:f,setup(t,i){var S;const n=e.ref((S=t.valueFrom)!=null?S:t.value),r=e.ref(null),u=(l=(m=>(m=t.valueFrom)!=null?m:0)(),d=typeof t.value=="number"?t.value:Number(t.value))=>{l!==d&&(r.value=new j({from:{value:l},to:{value:d},delay:t.delay,duration:t.animationDuration,easing:t.easing,onUpdate:o=>{n.value=o.value},onFinish:()=>{n.value=d}}),r.value.start())},h=e.computed(()=>C(n.value,t.value,t.groupSeparator,t.precision,t.showGroupSeparator));return e.onMounted(()=>{t.animation&&t.start&&u()}),e.watch(()=>t.start,l=>{l&&!r.value&&u()}),()=>{var l,d,m,o,x,F,O,b,p,N,T,k;return e.createVNode("div",e.mergeProps({class:"devui-statistic"},i.attrs),[e.createVNode("div",{class:"devui-statistic-title",style:t.titleStyle},[((d=(l=i.slots).title)==null?void 0:d.call(l))||t.title]),e.createVNode("div",{class:"devui-statistic-content",style:t.contentStyle},[t.prefix||((o=(m=i.slots).prefix)==null?void 0:o.call(m))?e.createVNode("span",{class:"devui-statistic-prefix"},[((F=(x=i.slots).prefix)==null?void 0:F.call(x))||t.prefix]):null,e.createVNode("span",{class:"devui-statistic--value"},[h.value]),t.suffix||((b=(O=i.slots).suffix)==null?void 0:b.call(O))?e.createVNode("span",{class:"devui-statistic-suffix"},[((N=(p=i.slots).suffix)==null?void 0:N.call(p))||t.suffix]):null]),((k=(T=i.slots).extra)==null?void 0:k.call(T))||t.extra])}}});y.install=function(t){t.component(y.name,y)};var U={title:"Statistic \u7EDF\u8BA1\u6570\u503C",category:"\u6570\u636E\u5C55\u793A",status:"100%",install(t){t.use(y)}};a.Statistic=y,a.default=U,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
|
package/statistic/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.devui-statistic{box-sizing:border-box;margin:0;padding:0;font-size:14px;line-height:1.5715;list-style:none}.devui-statistic-title{margin-bottom:4px;opacity:.7;font-size:14px}.devui-statistic-content{font-size:24px;display:flex;align-items:center}.devui-statistic-prefix{margin-right:6px;display:flex}.devui-statistic-suffix{margin-left:6px;display:flex}.devui-statistic--value{display:inline-block}
|
|
1
|
+
.devui-statistic{box-sizing:border-box;margin:0;padding:0;font-size:14px;line-height:1.5715;list-style:none}.devui-statistic-title{margin-bottom:4px;opacity:.7;font-size:14px}.devui-statistic-content{font-size:24px;display:flex;align-items:center}.devui-statistic-prefix{margin-right:6px;display:flex;align-items:center}.devui-statistic-suffix{margin-left:6px;display:flex;align-items:center}.devui-statistic--value{display:inline-block}
|