@web-utils/component 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +706 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1 +1,706 @@
1
- var b=Object.defineProperty,I=Object.defineProperties;var E=Object.getOwnPropertyDescriptors;var d=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable;var m=(e,t,n)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,f=(e,t)=>{for(var n in t||(t={}))T.call(t,n)&&m(e,n,t[n]);if(d)for(var n of d(t))P.call(t,n)&&m(e,n,t[n]);return e},c=(e,t)=>I(e,E(t));import{isPlainObject as V,isString as N,isArray as W}from"@web-utils/core";var Ne="",j=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"empty-view",style:{fontSize:e.fontSize,height:e.height}},[e._t("default",function(){return[e._v(e._s(e.emptyTips))]})],2)},A=[],We="";function a(e,t,n,s,r,u,h,B){var i=typeof e=="function"?e.options:e;t&&(i.render=t,i.staticRenderFns=n,i._compiled=!0),s&&(i.functional=!0),u&&(i._scopeId="data-v-"+u);var l;if(h?(l=function(o){o=o||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,!o&&typeof __VUE_SSR_CONTEXT__!="undefined"&&(o=__VUE_SSR_CONTEXT__),r&&r.call(this,o),o&&o._registeredComponents&&o._registeredComponents.add(h)},i._ssrRegister=l):r&&(l=B?function(){r.call(this,(i.functional?this.parent:this).$root.$options.shadowRoot)}:r),l)if(i.functional){i._injectStyles=l;var O=i.render;i.render=function(R,p){return l.call(p),O(R,p)}}else{var v=i.beforeCreate;i.beforeCreate=v?[].concat(v,l):[l]}return{exports:e,options:i}}const H={name:"EmptyView",props:{emptyTips:{type:String,default:"\u6682\u65E0\u6570\u636E"},fontSize:{type:String,default:"20px"},height:{type:String,default:"100%"}}},x={};var X=a(H,j,A,!1,U,null,null,null);function U(e){for(let t in x)this[t]=x[t]}var k=function(){return X.exports}(),L=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"flex-scroller-wrapper"},[n("div",{class:["flex-scroller",{"flex-column":e.flexColumn,"flex-row":e.flexRow,"content-scroll":e.contentScroll},e.contentClass]},[e._t("default")],2)])},J=[],je="";const Y={name:"FlexScroller",props:{flexColumn:Boolean,flexRow:Boolean,contentClass:String,contentScroll:{type:Boolean,default:!0}}},$={};var q=a(Y,L,J,!1,D,null,null,null);function D(e){for(let t in $)this[t]=$[t]}var G=function(){return q.exports}(),K=function(){var e=this,t=e.$createElement;return e._self._c,e._m(0)},Q=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"not-implement"},[n("div",[n("i",{staticClass:"fa fa-wrench"}),e._v(" \u5EFA\u8BBE\u4E2D... ")])])}],Ae="";const Z={name:"NotImplement"},g={};var ee=a(Z,K,Q,!1,te,"f91d5e80",null,null);function te(e){for(let t in g)this[t]=g[t]}var ne=function(){return ee.exports}();function re(e,t){for(let n=0;n<t.length;n++)if(e===t[n])return!0;return!1}const C=function(){return document.addEventListener?function(e,t,n){e&&t&&n&&e.addEventListener(t,n,!1)}:function(e,t,n){e&&t&&n&&e.attachEvent(`on${t}`,n)}}(),y=function(){return document.removeEventListener?function(e,t,n){e&&t&&e.removeEventListener(t,n,!1)}:function(e,t,n){e&&t&&e.detachEvent(`on${t}`,n)}}();var se=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:e.classes},[e.showIcon?n("div",{class:e.barConClasses},e._m(0),0):e._e()])},ie=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return e._l(8,function(s){return n("i",{key:`trigger-${s}`,class:`${e.prefix}-bar`})})}],He="";const oe={name:"Trigger",props:{mode:String,showIcon:Boolean,line:{type:Boolean,default:!0}},data(){return{prefix:"egd-split-trigger"}},computed:{isVertical(){return this.mode==="vertical"},classes(){return[this.prefix,this.line?this.isVertical?` ${this.prefix}-vertical-line`:`${this.prefix}-horizontal-line`:"",this.isVertical?`${this.prefix}-vertical`:`${this.prefix}-horizontal`]},barConClasses(){return[`${this.prefix}-bar-con`,this.isVertical?"vertical":"horizontal"]}}},z={};var le=a(oe,se,ie,!1,ae,null,null,null);function ae(e){for(let t in z)this[t]=z[t]}var ue=function(){return le.exports}(),fe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"outerWrapper",class:e.wrapperClasses},[e.isHorizontal?n("div",{class:`${e.prefix}-horizontal`},[n("div",{class:[`${e.prefix}-pane`,"left-pane"],style:{right:`${e.anotherOffset}%`}},[e._t("left")],2),n("div",{class:`${e.prefix}-trigger-con`,style:{left:`calc(${e.offset}% + ${e.triggerSize/2}px)`,width:`${e.triggerSize}px`},on:{mousedown:e.handleMousedown}},[e._t("trigger",function(){return[n("Trigger",{attrs:{mode:"vertical"}})]})],2),n("div",{class:[`${e.prefix}-pane`,"right-pane"],style:{left:`calc(${e.offset}% + ${e.triggerSize}px)`}},[e._t("right")],2)]):n("div",{class:`${e.prefix}-vertical`},[n("div",{class:[`${e.prefix}-pane`,"top-pane"],style:{bottom:`${e.anotherOffset}%`}},[e._t("top")],2),n("div",{class:`${e.prefix}-trigger-con`,style:{top:`calc(${e.offset}% + ${e.triggerSize/2}px)`,height:`${e.triggerSize}px`},on:{mousedown:e.handleMousedown}},[e._t("trigger",function(){return[n("Trigger",{attrs:{mode:"horizontal"}})]})],2),n("div",{class:[`${e.prefix}-pane`,"bottom-pane"],style:{top:`calc(${e.offset}% + ${e.triggerSize}px)`}},[e._t("bottom")],2)])])},ce=[],Xe="";const _e={name:"SplitPane",components:{Trigger:ue},props:{value:{type:[Number,String],default:.5},mode:{validator(e){return re(e,["horizontal","vertical"])},default:"horizontal"},triggerSize:{type:Number,default:6},min:{type:[Number,String],default:"40px"},max:{type:[Number,String],default:"40px"}},data(){return{prefix:"egd-split",offset:0,oldOffset:0,isMoving:!1}},computed:{wrapperClasses(){return[`${this.prefix}-wrapper`,this.isMoving?"no-select":""]},isHorizontal(){return this.mode==="horizontal"},anotherOffset(){return 100-this.offset},valueIsPx(){return typeof this.value=="string"},offsetSize(){return this.isHorizontal?"offsetWidth":"offsetHeight"},computedMin(){return this.getComputedThresholdValue("min")},computedMax(){return this.getComputedThresholdValue("max")}},watch:{value(){this.offset=(this.valueIsPx?this.px2percent(this.value,this.$refs.outerWrapper[this.offsetSize]):this.value)*1e4/100}},mounted(){this.$nextTick(()=>{this.offset=(this.valueIsPx?this.px2percent(this.value,this.$refs.outerWrapper[this.offsetSize]):this.value)*1e4/100})},methods:{px2percent(e,t){return parseFloat(e)/parseFloat(t)},getComputedThresholdValue(e){const t=this.$refs.outerWrapper[this.offsetSize];return this.valueIsPx?typeof this[e]=="string"?this[e]:t*this[e]:typeof this[e]=="string"?this.px2percent(this[e],t):this[e]},getMin(e,t){return this.valueIsPx?`${Math.min(parseFloat(e),parseFloat(t))}px`:Math.min(e,t)},getMax(e,t){return this.valueIsPx?`${Math.max(parseFloat(e),parseFloat(t))}px`:Math.max(e,t)},getAnotherOffset(e){let t=0;return this.valueIsPx?t=`${this.$refs.outerWrapper[this.offsetSize]-parseFloat(e)}px`:t=1-e,t},handleMove(e){const n=(this.isHorizontal?e.pageX:e.pageY)-this.initOffset,s=this.$refs.outerWrapper[this.offsetSize];let r=this.valueIsPx?`${parseFloat(this.oldOffset)+n}px`:this.px2percent(s*this.oldOffset+n,s);const u=this.getAnotherOffset(r);parseFloat(r)<=parseFloat(this.computedMin)&&(r=this.getMax(r,this.computedMin)),parseFloat(u)<=parseFloat(this.computedMax)&&(r=this.getAnotherOffset(this.getMax(u,this.computedMax))),e.atMin=this.value===this.computedMin,e.atMax=this.valueIsPx?this.getAnotherOffset(this.value)===this.computedMax:this.getAnotherOffset(this.value).toFixed(5)===this.computedMax.toFixed(5),this.$emit("input",r),this.$emit("on-moving",e)},handleUp(){this.isMoving=!1,y(window,"mousemove",this.handleMove),y(window,"mouseup",this.handleUp),this.$emit("on-move-end")},handleMousedown(e){this.initOffset=this.isHorizontal?e.pageX:e.pageY,this.oldOffset=this.value,this.isMoving=!0,C(window,"mousemove",this.handleMove),C(window,"mouseup",this.handleUp),this.$emit("on-move-start")}}},S={};var he=a(_e,fe,ce,!1,ve,null,null,null);function ve(e){for(let t in S)this[t]=S[t]}var pe=function(){return he.exports}(),de={name:"JSXComponent",props:{msg:{type:String,default:""}},render(){return arguments[0]("div",[this.msg])}};const _=(e,t)=>V(e)||N(e)?[t,e]:W(e)?[t,...e]:[t],me={name:"FlexRow",functional:!0,props:{verticalCenter:{type:Boolean,default:!1},horizonCenter:{type:Boolean,default:!1},center:{type:Boolean,default:!1},textCenter:{type:Boolean,default:!1}},render(e,{data:t,children:n,props:s}){const r=_(t.class,"flex-row");return s.center||s.horizonCenter&&s.verticalCenter?(r.push("horizon-center"),r.push("vertical-center")):(s.horizonCenter&&r.push("horizon-center"),s.verticalCenter&&r.push("vertical-center")),s.textCenter&&r.push("text-center"),e("div",c(f({},t),{class:r}),n)}};let xe,$e;const w={};var ge=a(me,xe,$e,!1,Ce,null,null,null);function Ce(e){for(let t in w)this[t]=w[t]}var ye=function(){return ge.exports}();const ze={name:"FlexColumn",functional:!0,props:{verticalCenter:{type:Boolean,default:!1},horizonCenter:{type:Boolean,default:!1},center:{type:Boolean,default:!1},textCenter:{type:Boolean,default:!1}},render(e,{data:t,children:n,props:s}){const r=_(t.class,"flex-column");return s.center||s.horizonCenter&&s.verticalCenter?(r.push("horizon-center"),r.push("vertical-center")):(s.horizonCenter&&r.push("horizon-center"),s.verticalCenter&&r.push("vertical-center")),s.textCenter&&r.push("text-center"),e("div",c(f({},t),{class:r}),n)}};let Se,we;const M={};var Me=a(ze,Se,we,!1,Fe,null,null,null);function Fe(e){for(let t in M)this[t]=M[t]}var Be=function(){return Me.exports}();const Oe={name:"FlexItem",functional:!0,props:{flexRow:{type:Boolean,default:!1},flexColumn:{type:Boolean,default:!1},verticalCenter:{type:Boolean,default:!1},horizonCenter:{type:Boolean,default:!1},center:{type:Boolean,default:!1},textCenter:{type:Boolean,default:!1},relative:{type:Boolean,default:!1},absolute:{type:Boolean,default:!1}},render(e,{children:t,data:n,props:s}){const r=_(n.class,s.relative?"flex-item-relative":"flex-item");return s.absolute&&!s.relative&&r.push("flex-item-relative"),s.center||s.horizonCenter&&s.verticalCenter?(r.push("horizon-center"),r.push("vertical-center")):(s.horizonCenter&&r.push("horizon-center"),s.verticalCenter&&r.push("vertical-center")),s.textCenter&&r.push("text-center"),s.flexColumn&&r.push("flex-column"),s.flexRow&&r.push("flex-row"),s.absolute?e("div",c(f({},n),{class:r}),[e("div",{class:"absolute",style:"overflow:auto"},t)]):e("div",c(f({},n),{class:r}),t)}};let Re,be;const F={};var Ie=a(Oe,Re,be,!1,Ee,null,null,null);function Ee(e){for(let t in F)this[t]=F[t]}var Te=function(){return Ie.exports}();export{k as EmptyView,Be as FlexColumn,Te as FlexItem,ye as FlexRow,G as FlexScroller,de as JSXComponent,ne as NotImplement,pe as SplitPane};
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { isPlainObject, isString, isArray } from "@web-utils/core";
21
+ var util = "";
22
+ var render$4 = function() {
23
+ var _vm = this;
24
+ var _h = _vm.$createElement;
25
+ var _c = _vm._self._c || _h;
26
+ return _c("div", {
27
+ staticClass: "empty-view",
28
+ style: {
29
+ fontSize: _vm.fontSize,
30
+ height: _vm.height
31
+ }
32
+ }, [_vm._t("default", function() {
33
+ return [_vm._v(_vm._s(_vm.emptyTips))];
34
+ })], 2);
35
+ };
36
+ var staticRenderFns$4 = [];
37
+ var EmptyView_vue_vue_type_style_index_0_lang = "";
38
+ function normalizeComponent(scriptExports, render2, staticRenderFns2, functionalTemplate, injectStyles, scopeId, moduleIdentifier, shadowMode) {
39
+ var options = typeof scriptExports === "function" ? scriptExports.options : scriptExports;
40
+ if (render2) {
41
+ options.render = render2;
42
+ options.staticRenderFns = staticRenderFns2;
43
+ options._compiled = true;
44
+ }
45
+ if (functionalTemplate) {
46
+ options.functional = true;
47
+ }
48
+ if (scopeId) {
49
+ options._scopeId = "data-v-" + scopeId;
50
+ }
51
+ var hook;
52
+ if (moduleIdentifier) {
53
+ hook = function(context) {
54
+ context = context || this.$vnode && this.$vnode.ssrContext || this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext;
55
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== "undefined") {
56
+ context = __VUE_SSR_CONTEXT__;
57
+ }
58
+ if (injectStyles) {
59
+ injectStyles.call(this, context);
60
+ }
61
+ if (context && context._registeredComponents) {
62
+ context._registeredComponents.add(moduleIdentifier);
63
+ }
64
+ };
65
+ options._ssrRegister = hook;
66
+ } else if (injectStyles) {
67
+ hook = shadowMode ? function() {
68
+ injectStyles.call(this, (options.functional ? this.parent : this).$root.$options.shadowRoot);
69
+ } : injectStyles;
70
+ }
71
+ if (hook) {
72
+ if (options.functional) {
73
+ options._injectStyles = hook;
74
+ var originalRender = options.render;
75
+ options.render = function renderWithStyleInjection(h, context) {
76
+ hook.call(context);
77
+ return originalRender(h, context);
78
+ };
79
+ } else {
80
+ var existing = options.beforeCreate;
81
+ options.beforeCreate = existing ? [].concat(existing, hook) : [hook];
82
+ }
83
+ }
84
+ return {
85
+ exports: scriptExports,
86
+ options
87
+ };
88
+ }
89
+ const __vue2_script$7 = {
90
+ name: "EmptyView",
91
+ props: {
92
+ emptyTips: {
93
+ type: String,
94
+ default: "\u6682\u65E0\u6570\u636E"
95
+ },
96
+ fontSize: {
97
+ type: String,
98
+ default: "20px"
99
+ },
100
+ height: {
101
+ type: String,
102
+ default: "100%"
103
+ }
104
+ }
105
+ };
106
+ const __cssModules$7 = {};
107
+ var __component__$7 = /* @__PURE__ */ normalizeComponent(__vue2_script$7, render$4, staticRenderFns$4, false, __vue2_injectStyles$7, null, null, null);
108
+ function __vue2_injectStyles$7(context) {
109
+ for (let o in __cssModules$7) {
110
+ this[o] = __cssModules$7[o];
111
+ }
112
+ }
113
+ var EmptyView = /* @__PURE__ */ function() {
114
+ return __component__$7.exports;
115
+ }();
116
+ var render$3 = function() {
117
+ var _vm = this;
118
+ var _h = _vm.$createElement;
119
+ var _c = _vm._self._c || _h;
120
+ return _c("div", {
121
+ staticClass: "flex-scroller-wrapper"
122
+ }, [_c("div", {
123
+ class: ["flex-scroller", {
124
+ "flex-column": _vm.flexColumn,
125
+ "flex-row": _vm.flexRow,
126
+ "content-scroll": _vm.contentScroll
127
+ }, _vm.contentClass]
128
+ }, [_vm._t("default")], 2)]);
129
+ };
130
+ var staticRenderFns$3 = [];
131
+ var FlexScroller_vue_vue_type_style_index_0_lang = "";
132
+ const __vue2_script$6 = {
133
+ name: "FlexScroller",
134
+ props: {
135
+ flexColumn: Boolean,
136
+ flexRow: Boolean,
137
+ contentClass: String,
138
+ contentScroll: {
139
+ type: Boolean,
140
+ default: true
141
+ }
142
+ }
143
+ };
144
+ const __cssModules$6 = {};
145
+ var __component__$6 = /* @__PURE__ */ normalizeComponent(__vue2_script$6, render$3, staticRenderFns$3, false, __vue2_injectStyles$6, null, null, null);
146
+ function __vue2_injectStyles$6(context) {
147
+ for (let o in __cssModules$6) {
148
+ this[o] = __cssModules$6[o];
149
+ }
150
+ }
151
+ var FlexScroller = /* @__PURE__ */ function() {
152
+ return __component__$6.exports;
153
+ }();
154
+ var render$2 = function() {
155
+ var _vm = this;
156
+ var _h = _vm.$createElement;
157
+ _vm._self._c || _h;
158
+ return _vm._m(0);
159
+ };
160
+ var staticRenderFns$2 = [function() {
161
+ var _vm = this;
162
+ var _h = _vm.$createElement;
163
+ var _c = _vm._self._c || _h;
164
+ return _c("div", {
165
+ staticClass: "not-implement"
166
+ }, [_c("div", [_c("i", {
167
+ staticClass: "fa fa-wrench"
168
+ }), _vm._v(" \u5EFA\u8BBE\u4E2D... ")])]);
169
+ }];
170
+ var NotImplement_vue_vue_type_style_index_0_scoped_true_lang = "";
171
+ const __vue2_script$5 = {
172
+ name: "NotImplement"
173
+ };
174
+ const __cssModules$5 = {};
175
+ var __component__$5 = /* @__PURE__ */ normalizeComponent(__vue2_script$5, render$2, staticRenderFns$2, false, __vue2_injectStyles$5, "f91d5e80", null, null);
176
+ function __vue2_injectStyles$5(context) {
177
+ for (let o in __cssModules$5) {
178
+ this[o] = __cssModules$5[o];
179
+ }
180
+ }
181
+ var NotImplement = /* @__PURE__ */ function() {
182
+ return __component__$5.exports;
183
+ }();
184
+ function oneOf(value, validList) {
185
+ for (let i = 0; i < validList.length; i++) {
186
+ if (value === validList[i]) {
187
+ return true;
188
+ }
189
+ }
190
+ return false;
191
+ }
192
+ const on = function() {
193
+ if (document.addEventListener) {
194
+ return function(element, event, handler) {
195
+ if (element && event && handler) {
196
+ element.addEventListener(event, handler, false);
197
+ }
198
+ };
199
+ } else {
200
+ return function(element, event, handler) {
201
+ if (element && event && handler) {
202
+ element.attachEvent(`on${event}`, handler);
203
+ }
204
+ };
205
+ }
206
+ }();
207
+ const off = function() {
208
+ if (document.removeEventListener) {
209
+ return function(element, event, handler) {
210
+ if (element && event) {
211
+ element.removeEventListener(event, handler, false);
212
+ }
213
+ };
214
+ } else {
215
+ return function(element, event, handler) {
216
+ if (element && event) {
217
+ element.detachEvent(`on${event}`, handler);
218
+ }
219
+ };
220
+ }
221
+ }();
222
+ var render$1 = function() {
223
+ var _vm = this;
224
+ var _h = _vm.$createElement;
225
+ var _c = _vm._self._c || _h;
226
+ return _c("div", {
227
+ class: _vm.classes
228
+ }, [_vm.showIcon ? _c("div", {
229
+ class: _vm.barConClasses
230
+ }, _vm._m(0), 0) : _vm._e()]);
231
+ };
232
+ var staticRenderFns$1 = [function() {
233
+ var _vm = this;
234
+ var _h = _vm.$createElement;
235
+ var _c = _vm._self._c || _h;
236
+ return _vm._l(8, function(i) {
237
+ return _c("i", {
238
+ key: `trigger-${i}`,
239
+ class: `${_vm.prefix}-bar`
240
+ });
241
+ });
242
+ }];
243
+ var Trigger_vue_vue_type_style_index_0_lang = "";
244
+ const __vue2_script$4 = {
245
+ name: "Trigger",
246
+ props: {
247
+ mode: String,
248
+ showIcon: Boolean,
249
+ line: {
250
+ type: Boolean,
251
+ default: true
252
+ }
253
+ },
254
+ data() {
255
+ return {
256
+ prefix: "egd-split-trigger"
257
+ };
258
+ },
259
+ computed: {
260
+ isVertical() {
261
+ return this.mode === "vertical";
262
+ },
263
+ classes() {
264
+ return [
265
+ this.prefix,
266
+ this.line ? this.isVertical ? ` ${this.prefix}-vertical-line` : `${this.prefix}-horizontal-line` : "",
267
+ this.isVertical ? `${this.prefix}-vertical` : `${this.prefix}-horizontal`
268
+ ];
269
+ },
270
+ barConClasses() {
271
+ return [
272
+ `${this.prefix}-bar-con`,
273
+ this.isVertical ? "vertical" : "horizontal"
274
+ ];
275
+ }
276
+ }
277
+ };
278
+ const __cssModules$4 = {};
279
+ var __component__$4 = /* @__PURE__ */ normalizeComponent(__vue2_script$4, render$1, staticRenderFns$1, false, __vue2_injectStyles$4, null, null, null);
280
+ function __vue2_injectStyles$4(context) {
281
+ for (let o in __cssModules$4) {
282
+ this[o] = __cssModules$4[o];
283
+ }
284
+ }
285
+ var Trigger = /* @__PURE__ */ function() {
286
+ return __component__$4.exports;
287
+ }();
288
+ var render = function() {
289
+ var _vm = this;
290
+ var _h = _vm.$createElement;
291
+ var _c = _vm._self._c || _h;
292
+ return _c("div", {
293
+ ref: "outerWrapper",
294
+ class: _vm.wrapperClasses
295
+ }, [_vm.isHorizontal ? _c("div", {
296
+ class: `${_vm.prefix}-horizontal`
297
+ }, [_c("div", {
298
+ class: [`${_vm.prefix}-pane`, "left-pane"],
299
+ style: {
300
+ right: `${_vm.anotherOffset}%`
301
+ }
302
+ }, [_vm._t("left")], 2), _c("div", {
303
+ class: `${_vm.prefix}-trigger-con`,
304
+ style: {
305
+ left: `calc(${_vm.offset}% + ${_vm.triggerSize / 2}px)`,
306
+ width: `${_vm.triggerSize}px`
307
+ },
308
+ on: {
309
+ "mousedown": _vm.handleMousedown
310
+ }
311
+ }, [_vm._t("trigger", function() {
312
+ return [_c("Trigger", {
313
+ attrs: {
314
+ "mode": "vertical"
315
+ }
316
+ })];
317
+ })], 2), _c("div", {
318
+ class: [`${_vm.prefix}-pane`, "right-pane"],
319
+ style: {
320
+ left: `calc(${_vm.offset}% + ${_vm.triggerSize}px)`
321
+ }
322
+ }, [_vm._t("right")], 2)]) : _c("div", {
323
+ class: `${_vm.prefix}-vertical`
324
+ }, [_c("div", {
325
+ class: [`${_vm.prefix}-pane`, "top-pane"],
326
+ style: {
327
+ bottom: `${_vm.anotherOffset}%`
328
+ }
329
+ }, [_vm._t("top")], 2), _c("div", {
330
+ class: `${_vm.prefix}-trigger-con`,
331
+ style: {
332
+ top: `calc(${_vm.offset}% + ${_vm.triggerSize / 2}px)`,
333
+ height: `${_vm.triggerSize}px`
334
+ },
335
+ on: {
336
+ "mousedown": _vm.handleMousedown
337
+ }
338
+ }, [_vm._t("trigger", function() {
339
+ return [_c("Trigger", {
340
+ attrs: {
341
+ "mode": "horizontal"
342
+ }
343
+ })];
344
+ })], 2), _c("div", {
345
+ class: [`${_vm.prefix}-pane`, "bottom-pane"],
346
+ style: {
347
+ top: `calc(${_vm.offset}% + ${_vm.triggerSize}px)`
348
+ }
349
+ }, [_vm._t("bottom")], 2)])]);
350
+ };
351
+ var staticRenderFns = [];
352
+ var SplitPane_vue_vue_type_style_index_0_lang = "";
353
+ const __vue2_script$3 = {
354
+ name: "SplitPane",
355
+ components: {
356
+ Trigger
357
+ },
358
+ props: {
359
+ value: {
360
+ type: [Number, String],
361
+ default: 0.5
362
+ },
363
+ mode: {
364
+ validator(value) {
365
+ return oneOf(value, ["horizontal", "vertical"]);
366
+ },
367
+ default: "horizontal"
368
+ },
369
+ triggerSize: {
370
+ type: Number,
371
+ default: 6
372
+ },
373
+ min: {
374
+ type: [Number, String],
375
+ default: "40px"
376
+ },
377
+ max: {
378
+ type: [Number, String],
379
+ default: "40px"
380
+ }
381
+ },
382
+ data() {
383
+ return {
384
+ prefix: "egd-split",
385
+ offset: 0,
386
+ oldOffset: 0,
387
+ isMoving: false
388
+ };
389
+ },
390
+ computed: {
391
+ wrapperClasses() {
392
+ return [
393
+ `${this.prefix}-wrapper`,
394
+ this.isMoving ? "no-select" : ""
395
+ ];
396
+ },
397
+ isHorizontal() {
398
+ return this.mode === "horizontal";
399
+ },
400
+ anotherOffset() {
401
+ return 100 - this.offset;
402
+ },
403
+ valueIsPx() {
404
+ return typeof this.value === "string";
405
+ },
406
+ offsetSize() {
407
+ return this.isHorizontal ? "offsetWidth" : "offsetHeight";
408
+ },
409
+ computedMin() {
410
+ return this.getComputedThresholdValue("min");
411
+ },
412
+ computedMax() {
413
+ return this.getComputedThresholdValue("max");
414
+ }
415
+ },
416
+ watch: {
417
+ value() {
418
+ this.offset = (this.valueIsPx ? this.px2percent(this.value, this.$refs.outerWrapper[this.offsetSize]) : this.value) * 1e4 / 100;
419
+ }
420
+ },
421
+ mounted() {
422
+ this.$nextTick(() => {
423
+ this.offset = (this.valueIsPx ? this.px2percent(this.value, this.$refs.outerWrapper[this.offsetSize]) : this.value) * 1e4 / 100;
424
+ });
425
+ },
426
+ methods: {
427
+ px2percent(numerator, denominator) {
428
+ return parseFloat(numerator) / parseFloat(denominator);
429
+ },
430
+ getComputedThresholdValue(type) {
431
+ const size = this.$refs.outerWrapper[this.offsetSize];
432
+ if (this.valueIsPx) {
433
+ return typeof this[type] === "string" ? this[type] : size * this[type];
434
+ } else {
435
+ return typeof this[type] === "string" ? this.px2percent(this[type], size) : this[type];
436
+ }
437
+ },
438
+ getMin(value1, value2) {
439
+ if (this.valueIsPx) {
440
+ return `${Math.min(parseFloat(value1), parseFloat(value2))}px`;
441
+ } else {
442
+ return Math.min(value1, value2);
443
+ }
444
+ },
445
+ getMax(value1, value2) {
446
+ if (this.valueIsPx) {
447
+ return `${Math.max(parseFloat(value1), parseFloat(value2))}px`;
448
+ } else {
449
+ return Math.max(value1, value2);
450
+ }
451
+ },
452
+ getAnotherOffset(value) {
453
+ let res = 0;
454
+ if (this.valueIsPx) {
455
+ res = `${this.$refs.outerWrapper[this.offsetSize] - parseFloat(value)}px`;
456
+ } else {
457
+ res = 1 - value;
458
+ }
459
+ return res;
460
+ },
461
+ handleMove(e) {
462
+ const pageOffset = this.isHorizontal ? e.pageX : e.pageY;
463
+ const offset = pageOffset - this.initOffset;
464
+ const outerWidth = this.$refs.outerWrapper[this.offsetSize];
465
+ let value = this.valueIsPx ? `${parseFloat(this.oldOffset) + offset}px` : this.px2percent(outerWidth * this.oldOffset + offset, outerWidth);
466
+ const anotherValue = this.getAnotherOffset(value);
467
+ if (parseFloat(value) <= parseFloat(this.computedMin))
468
+ value = this.getMax(value, this.computedMin);
469
+ if (parseFloat(anotherValue) <= parseFloat(this.computedMax))
470
+ value = this.getAnotherOffset(this.getMax(anotherValue, this.computedMax));
471
+ e.atMin = this.value === this.computedMin;
472
+ e.atMax = this.valueIsPx ? this.getAnotherOffset(this.value) === this.computedMax : this.getAnotherOffset(this.value).toFixed(5) === this.computedMax.toFixed(5);
473
+ this.$emit("input", value);
474
+ this.$emit("on-moving", e);
475
+ },
476
+ handleUp() {
477
+ this.isMoving = false;
478
+ off(window, "mousemove", this.handleMove);
479
+ off(window, "mouseup", this.handleUp);
480
+ this.$emit("on-move-end");
481
+ },
482
+ handleMousedown(e) {
483
+ this.initOffset = this.isHorizontal ? e.pageX : e.pageY;
484
+ this.oldOffset = this.value;
485
+ this.isMoving = true;
486
+ on(window, "mousemove", this.handleMove);
487
+ on(window, "mouseup", this.handleUp);
488
+ this.$emit("on-move-start");
489
+ }
490
+ }
491
+ };
492
+ const __cssModules$3 = {};
493
+ var __component__$3 = /* @__PURE__ */ normalizeComponent(__vue2_script$3, render, staticRenderFns, false, __vue2_injectStyles$3, null, null, null);
494
+ function __vue2_injectStyles$3(context) {
495
+ for (let o in __cssModules$3) {
496
+ this[o] = __cssModules$3[o];
497
+ }
498
+ }
499
+ var SplitPane = /* @__PURE__ */ function() {
500
+ return __component__$3.exports;
501
+ }();
502
+ var JSXComponent = {
503
+ name: "JSXComponent",
504
+ props: {
505
+ msg: {
506
+ type: String,
507
+ default: ""
508
+ }
509
+ },
510
+ render() {
511
+ const h = arguments[0];
512
+ return h("div", [this.msg]);
513
+ }
514
+ };
515
+ const getClass = (customClass, fixedClass) => {
516
+ if (isPlainObject(customClass) || isString(customClass)) {
517
+ return [fixedClass, customClass];
518
+ } else if (isArray(customClass)) {
519
+ return [fixedClass, ...customClass];
520
+ } else {
521
+ return [fixedClass];
522
+ }
523
+ };
524
+ const __vue2_script$2 = {
525
+ name: "FlexRow",
526
+ functional: true,
527
+ props: {
528
+ verticalCenter: {
529
+ type: Boolean,
530
+ default: false
531
+ },
532
+ horizonCenter: {
533
+ type: Boolean,
534
+ default: false
535
+ },
536
+ center: {
537
+ type: Boolean,
538
+ default: false
539
+ },
540
+ textCenter: {
541
+ type: Boolean,
542
+ default: false
543
+ }
544
+ },
545
+ render(createElement, { data, children, props }) {
546
+ const viewClass = getClass(data.class, "flex-row");
547
+ if (props.center || props.horizonCenter && props.verticalCenter) {
548
+ viewClass.push("horizon-center");
549
+ viewClass.push("vertical-center");
550
+ } else {
551
+ if (props.horizonCenter) {
552
+ viewClass.push("horizon-center");
553
+ }
554
+ if (props.verticalCenter) {
555
+ viewClass.push("vertical-center");
556
+ }
557
+ }
558
+ if (props.textCenter) {
559
+ viewClass.push("text-center");
560
+ }
561
+ return createElement("div", __spreadProps(__spreadValues({}, data), { class: viewClass }), children);
562
+ }
563
+ };
564
+ let __vue2_render$2, __vue2_staticRenderFns$2;
565
+ const __cssModules$2 = {};
566
+ var __component__$2 = /* @__PURE__ */ normalizeComponent(__vue2_script$2, __vue2_render$2, __vue2_staticRenderFns$2, false, __vue2_injectStyles$2, null, null, null);
567
+ function __vue2_injectStyles$2(context) {
568
+ for (let o in __cssModules$2) {
569
+ this[o] = __cssModules$2[o];
570
+ }
571
+ }
572
+ var FlexRow = /* @__PURE__ */ function() {
573
+ return __component__$2.exports;
574
+ }();
575
+ const __vue2_script$1 = {
576
+ name: "FlexColumn",
577
+ functional: true,
578
+ props: {
579
+ verticalCenter: {
580
+ type: Boolean,
581
+ default: false
582
+ },
583
+ horizonCenter: {
584
+ type: Boolean,
585
+ default: false
586
+ },
587
+ center: {
588
+ type: Boolean,
589
+ default: false
590
+ },
591
+ textCenter: {
592
+ type: Boolean,
593
+ default: false
594
+ }
595
+ },
596
+ render(createElement, { data, children, props }) {
597
+ const viewClass = getClass(data.class, "flex-column");
598
+ if (props.center || props.horizonCenter && props.verticalCenter) {
599
+ viewClass.push("horizon-center");
600
+ viewClass.push("vertical-center");
601
+ } else {
602
+ if (props.horizonCenter) {
603
+ viewClass.push("horizon-center");
604
+ }
605
+ if (props.verticalCenter) {
606
+ viewClass.push("vertical-center");
607
+ }
608
+ }
609
+ if (props.textCenter) {
610
+ viewClass.push("text-center");
611
+ }
612
+ return createElement("div", __spreadProps(__spreadValues({}, data), { class: viewClass }), children);
613
+ }
614
+ };
615
+ let __vue2_render$1, __vue2_staticRenderFns$1;
616
+ const __cssModules$1 = {};
617
+ var __component__$1 = /* @__PURE__ */ normalizeComponent(__vue2_script$1, __vue2_render$1, __vue2_staticRenderFns$1, false, __vue2_injectStyles$1, null, null, null);
618
+ function __vue2_injectStyles$1(context) {
619
+ for (let o in __cssModules$1) {
620
+ this[o] = __cssModules$1[o];
621
+ }
622
+ }
623
+ var FlexColumn = /* @__PURE__ */ function() {
624
+ return __component__$1.exports;
625
+ }();
626
+ const __vue2_script = {
627
+ name: "FlexItem",
628
+ functional: true,
629
+ props: {
630
+ flexRow: {
631
+ type: Boolean,
632
+ default: false
633
+ },
634
+ flexColumn: {
635
+ type: Boolean,
636
+ default: false
637
+ },
638
+ verticalCenter: {
639
+ type: Boolean,
640
+ default: false
641
+ },
642
+ horizonCenter: {
643
+ type: Boolean,
644
+ default: false
645
+ },
646
+ center: {
647
+ type: Boolean,
648
+ default: false
649
+ },
650
+ textCenter: {
651
+ type: Boolean,
652
+ default: false
653
+ },
654
+ relative: {
655
+ type: Boolean,
656
+ default: false
657
+ },
658
+ absolute: {
659
+ type: Boolean,
660
+ default: false
661
+ }
662
+ },
663
+ render(createElement, { children, data, props }) {
664
+ const viewClass = getClass(data.class, props.relative ? "flex-item-relative" : "flex-item");
665
+ if (props.absolute && !props.relative) {
666
+ viewClass.push("flex-item-relative");
667
+ }
668
+ if (props.center || props.horizonCenter && props.verticalCenter) {
669
+ viewClass.push("horizon-center");
670
+ viewClass.push("vertical-center");
671
+ } else {
672
+ if (props.horizonCenter) {
673
+ viewClass.push("horizon-center");
674
+ }
675
+ if (props.verticalCenter) {
676
+ viewClass.push("vertical-center");
677
+ }
678
+ }
679
+ if (props.textCenter) {
680
+ viewClass.push("text-center");
681
+ }
682
+ if (props.flexColumn) {
683
+ viewClass.push("flex-column");
684
+ }
685
+ if (props.flexRow) {
686
+ viewClass.push("flex-row");
687
+ }
688
+ if (props.absolute) {
689
+ return createElement("div", __spreadProps(__spreadValues({}, data), { class: viewClass }), [createElement("div", { class: "absolute", style: "overflow:auto" }, children)]);
690
+ } else {
691
+ return createElement("div", __spreadProps(__spreadValues({}, data), { class: viewClass }), children);
692
+ }
693
+ }
694
+ };
695
+ let __vue2_render, __vue2_staticRenderFns;
696
+ const __cssModules = {};
697
+ var __component__ = /* @__PURE__ */ normalizeComponent(__vue2_script, __vue2_render, __vue2_staticRenderFns, false, __vue2_injectStyles, null, null, null);
698
+ function __vue2_injectStyles(context) {
699
+ for (let o in __cssModules) {
700
+ this[o] = __cssModules[o];
701
+ }
702
+ }
703
+ var FlexItem = /* @__PURE__ */ function() {
704
+ return __component__.exports;
705
+ }();
706
+ export { EmptyView, FlexColumn, FlexItem, FlexRow, FlexScroller, JSXComponent, NotImplement, SplitPane };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-utils/component",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",