bm-admin-ui 1.0.15-alpha → 1.0.18-alpha
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/es/components/feedback/index.js +19 -6
- package/es/components/float-table/index.d.ts +2 -2
- package/es/components/float-table/index.js +27 -36
- package/es/components/float-table/src/float-table.vue.d.ts +2 -2
- package/es/components/input-tags-display/index.d.ts +6 -0
- package/es/components/input-tags-display/index.js +22 -8
- package/es/components/input-tags-display/src/input-tags-display.vue.d.ts +6 -0
- package/es/components/multi-cascader-compose/index.d.ts +3 -3
- package/es/components/multi-cascader-compose/index.js +25 -28
- package/es/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +3 -3
- package/es/components/over-tooltips/index.js +20 -27
- package/es/components/search-filter/index.d.ts +4 -2
- package/es/components/search-filter/index.js +36 -48
- package/es/components/search-filter/src/search-filter.vue.d.ts +4 -2
- package/es/components/shops-filter/index.d.ts +1 -1
- package/es/components/shops-filter/index.js +30 -23
- package/es/components/shops-filter/src/shops-filter.vue.d.ts +1 -1
- package/es/components/staffs-selector/index.js +98 -115
- package/es/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
- package/es/components/timeline/index.d.ts +20 -6
- package/es/components/timeline/index.js +6 -6
- package/es/components/timeline/src/props.d.ts +6 -2
- package/es/components/timeline/src/timeline-item.vue.d.ts +20 -6
- package/es/components/upload/index.d.ts +9 -0
- package/es/components/upload/index.js +136 -93
- package/es/components/upload/src/upload.vue.d.ts +9 -0
- package/index.esm.js +1068 -37345
- package/index.js +1068 -37345
- package/lib/components/feedback/index.js +18 -5
- package/lib/components/float-table/index.d.ts +2 -2
- package/lib/components/float-table/index.js +27 -36
- package/lib/components/float-table/src/float-table.vue.d.ts +2 -2
- package/lib/components/input-tags-display/index.d.ts +6 -0
- package/lib/components/input-tags-display/index.js +22 -8
- package/lib/components/input-tags-display/src/input-tags-display.vue.d.ts +6 -0
- package/lib/components/multi-cascader-compose/index.d.ts +3 -3
- package/lib/components/multi-cascader-compose/index.js +25 -28
- package/lib/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +3 -3
- package/lib/components/over-tooltips/index.js +20 -27
- package/lib/components/search-filter/index.d.ts +4 -2
- package/lib/components/search-filter/index.js +36 -48
- package/lib/components/search-filter/src/search-filter.vue.d.ts +4 -2
- package/lib/components/shops-filter/index.d.ts +1 -1
- package/lib/components/shops-filter/index.js +30 -23
- package/lib/components/shops-filter/src/shops-filter.vue.d.ts +1 -1
- package/lib/components/staffs-selector/index.js +98 -115
- package/lib/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
- package/lib/components/timeline/index.d.ts +20 -6
- package/lib/components/timeline/index.js +6 -6
- package/lib/components/timeline/src/props.d.ts +6 -2
- package/lib/components/timeline/src/timeline-item.vue.d.ts +20 -6
- package/lib/components/upload/index.d.ts +9 -0
- package/lib/components/upload/index.js +136 -93
- package/lib/components/upload/src/upload.vue.d.ts +9 -0
- package/package.json +29 -29
- package/theme-chalk/button.css +1 -1
- package/theme-chalk/feedback.css +1 -1
- package/theme-chalk/float-table.css +1 -1
- package/theme-chalk/floating-vue.css +1 -1
- package/theme-chalk/flow-designer.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/input-tags-display.css +1 -1
- package/theme-chalk/modal.css +1 -1
- package/theme-chalk/multi-cascader-compose.css +1 -1
- package/theme-chalk/over-tooltips.css +1 -1
- package/theme-chalk/search-filter.css +1 -1
- package/theme-chalk/timeline.css +1 -1
- package/theme-chalk/upload.css +1 -1
- package/types/components/float-table/index.d.ts +2 -2
- package/types/components/float-table/src/float-table.vue.d.ts +2 -2
- package/types/components/input-tags-display/index.d.ts +6 -0
- package/types/components/input-tags-display/src/input-tags-display.vue.d.ts +6 -0
- package/types/components/multi-cascader-compose/index.d.ts +3 -3
- package/types/components/multi-cascader-compose/src/multi-cascader-compose.vue.d.ts +3 -3
- package/types/components/search-filter/index.d.ts +4 -2
- package/types/components/search-filter/src/search-filter.vue.d.ts +4 -2
- package/types/components/shops-filter/index.d.ts +1 -1
- package/types/components/shops-filter/src/shops-filter.vue.d.ts +1 -1
- package/types/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
- package/types/components/timeline/index.d.ts +20 -6
- package/types/components/timeline/src/props.d.ts +6 -2
- package/types/components/timeline/src/timeline-item.vue.d.ts +20 -6
- package/types/components/upload/index.d.ts +9 -0
- package/types/components/upload/src/upload.vue.d.ts +9 -0
|
@@ -44,8 +44,12 @@ declare const BmTimelineItem: import("bm-admin-ui/es/utils/with-install").SFCWit
|
|
|
44
44
|
color: import("vue-types").VueTypeDef<string> & {
|
|
45
45
|
default: string;
|
|
46
46
|
};
|
|
47
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
48
|
-
|
|
47
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
48
|
+
default: any;
|
|
49
|
+
};
|
|
50
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
51
|
+
default: any;
|
|
52
|
+
};
|
|
49
53
|
}, {
|
|
50
54
|
slots: Readonly<{
|
|
51
55
|
[name: string]: import("vue").Slot | undefined;
|
|
@@ -54,8 +58,12 @@ declare const BmTimelineItem: import("bm-admin-ui/es/utils/with-install").SFCWit
|
|
|
54
58
|
color: import("vue-types").VueTypeDef<string> & {
|
|
55
59
|
default: string;
|
|
56
60
|
};
|
|
57
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
58
|
-
|
|
61
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
62
|
+
default: any;
|
|
63
|
+
};
|
|
64
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
65
|
+
default: any;
|
|
66
|
+
};
|
|
59
67
|
}>> & {
|
|
60
68
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
61
69
|
}>>;
|
|
@@ -84,10 +92,16 @@ declare const BmTimelineItem: import("bm-admin-ui/es/utils/with-install").SFCWit
|
|
|
84
92
|
color: import("vue-types").VueTypeDef<string> & {
|
|
85
93
|
default: string;
|
|
86
94
|
};
|
|
87
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
88
|
-
|
|
95
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
96
|
+
default: any;
|
|
97
|
+
};
|
|
98
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
99
|
+
default: any;
|
|
100
|
+
};
|
|
89
101
|
}>>, {
|
|
90
102
|
color: string;
|
|
103
|
+
label: any;
|
|
104
|
+
dot: any;
|
|
91
105
|
}>>;
|
|
92
106
|
export { BmTimeline, BmTimelineItem };
|
|
93
107
|
export default BmTimeline;
|
|
@@ -34,16 +34,16 @@ function isPlainObject(o) {
|
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
function t(){return t=Object.assign
|
|
37
|
+
function t(){return t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e},t.apply(this,arguments)}function r(e,t){if(null==e)return {};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(i[r]=e[r]);return i}const n={silent:!1,logLevel:"warn"},i=["validator"],o=Object.prototype,a=o.toString,s=o.hasOwnProperty,u=/^\s*function (\w+)/;function l(e){var t;const r=null!==(t=null==e?void 0:e.type)&&void 0!==t?t:e;if(r){const e=r.toString().match(u);return e?e[1]:""}return ""}const c=isPlainObject,f=e=>e;let d=f;if("production"!==process.env.NODE_ENV){const e="undefined"!=typeof console;d=e?function(e,t=n.logLevel){!1===n.silent&&console[t](`[VueTypes warn]: ${e}`);}:f;}const p=(e,t)=>s.call(e,t),y=Number.isInteger||function(e){return "number"==typeof e&&isFinite(e)&&Math.floor(e)===e},v=Array.isArray||function(e){return "[object Array]"===a.call(e)},h=e=>"[object Function]"===a.call(e),b=e=>c(e)&&p(e,"_vueTypes_name"),g=e=>c(e)&&(p(e,"type")||["_vueTypes_name","validator","default","required"].some(t=>p(e,t)));function O(e,t){return Object.defineProperty(e.bind(t),"__original",{value:e})}function m(e,t,r=!1){let n,i=!0,o="";n=c(e)?e:{type:e};const a=b(n)?n._vueTypes_name+" - ":"";if(g(n)&&null!==n.type){if(void 0===n.type||!0===n.type)return i;if(!n.required&&void 0===t)return i;v(n.type)?(i=n.type.some(e=>!0===m(e,t,!0)),o=n.type.map(e=>l(e)).join(" or ")):(o=l(n),i="Array"===o?v(t):"Object"===o?c(t):"String"===o||"Number"===o||"Boolean"===o||"Function"===o?function(e){if(null==e)return "";const t=e.constructor.toString().match(u);return t?t[1]:""}(t)===o:t instanceof n.type);}if(!i){const e=`${a}value "${t}" should be of type "${o}"`;return !1===r?(d(e),!1):e}if(p(n,"validator")&&h(n.validator)){const e=d,o=[];if(d=e=>{o.push(e);},i=n.validator(t),d=e,!i){const e=(o.length>1?"* ":"")+o.join("\n* ");return o.length=0,!1===r?(d(e),i):e}}return i}function j(e,t){const r=Object.defineProperties(t,{_vueTypes_name:{value:e,writable:!0},isRequired:{get(){return this.required=!0,this}},def:{value(e){return void 0===e?(p(this,"default")&&delete this.default,this):h(e)||!0===m(this,e,!0)?(this.default=v(e)?()=>[...e]:c(e)?()=>Object.assign({},e):e,this):(d(`${this._vueTypes_name} - invalid default value: "${e}"`),this)}}}),{validator:n}=r;return h(n)&&(r.validator=O(n,r)),r}function _(e,t){const r=j(e,t);return Object.defineProperty(r,"validate",{value(e){return h(this.validator)&&d(`${this._vueTypes_name} - calling .validate() will overwrite the current custom validator function. Validator info:\n${JSON.stringify(this)}`),this.validator=O(e,this),this}})}function T(e,t,n){const o=function(e){const t={};return Object.getOwnPropertyNames(e).forEach(r=>{t[r]=Object.getOwnPropertyDescriptor(e,r);}),Object.defineProperties({},t)}(t);if(o._vueTypes_name=e,!c(n))return o;const{validator:a}=n,s=r(n,i);if(h(a)){let{validator:e}=o;e&&(e=null!==(l=(u=e).__original)&&void 0!==l?l:u),o.validator=O(e?function(t){return e.call(this,t)&&a.call(this,t)}:a,o);}var u,l;return Object.assign(o,s)}function $(e){return e.replace(/^(?!\s*$)/gm," ")}const w=()=>_("any",{}),P=()=>_("function",{type:Function}),x=()=>_("boolean",{type:Boolean}),E=()=>_("string",{type:String}),N=()=>_("number",{type:Number}),q=()=>_("array",{type:Array}),A=()=>_("object",{type:Object}),V=()=>j("integer",{type:Number,validator:e=>y(e)}),S=()=>j("symbol",{validator:e=>"symbol"==typeof e});function k(e,t="custom validation failed"){if("function"!=typeof e)throw new TypeError("[VueTypes error]: You must provide a function as argument");return j(e.name||"<<anonymous function>>",{type:null,validator(r){const n=e(r);return n||d(`${this._vueTypes_name} - ${t}`),n}})}function D(e){if(!v(e))throw new TypeError("[VueTypes error]: You must provide an array as argument.");const t=`oneOf - value should be one of "${e.join('", "')}".`,r=e.reduce((e,t)=>{if(null!=t){const r=t.constructor;-1===e.indexOf(r)&&e.push(r);}return e},[]);return j("oneOf",{type:r.length>0?r:void 0,validator(r){const n=-1!==e.indexOf(r);return n||d(t),n}})}function L(e){if(!v(e))throw new TypeError("[VueTypes error]: You must provide an array as argument");let t=!1,r=[];for(let n=0;n<e.length;n+=1){const i=e[n];if(g(i)){if(b(i)&&"oneOf"===i._vueTypes_name&&i.type){r=r.concat(i.type);continue}if(h(i.validator)&&(t=!0),!0===i.type||!i.type){d('oneOfType - invalid usage of "true" or "null" as types.');continue}r=r.concat(i.type);}else r.push(i);}r=r.filter((e,t)=>r.indexOf(e)===t);const n=r.length>0?r:null;return j("oneOfType",t?{type:n,validator(t){const r=[],n=e.some(e=>{const n=m(b(e)&&"oneOf"===e._vueTypes_name?e.type||null:e,t,!0);return "string"==typeof n&&r.push(n),!0===n});return n||d(`oneOfType - provided value does not match any of the ${r.length} passed-in validators:\n${$(r.join("\n"))}`),n}}:{type:n})}function F(e){return j("arrayOf",{type:Array,validator(t){let r="";const n=t.every(t=>(r=m(e,t,!0),!0===r));return n||d(`arrayOf - value validation error:\n${$(r)}`),n}})}function Y(e){return j("instanceOf",{type:e})}function B(e){return j("objectOf",{type:Object,validator(t){let r="";const n=Object.keys(t).every(n=>(r=m(e,t[n],!0),!0===r));return n||d(`objectOf - value validation error:\n${$(r)}`),n}})}function I(e){const t=Object.keys(e),r=t.filter(t=>{var r;return !(null===(r=e[t])||void 0===r||!r.required)}),n=j("shape",{type:Object,validator(n){if(!c(n))return !1;const i=Object.keys(n);if(r.length>0&&r.some(e=>-1===i.indexOf(e))){const e=r.filter(e=>-1===i.indexOf(e));return d(1===e.length?`shape - required property "${e[0]}" is not defined.`:`shape - required properties "${e.join('", "')}" are not defined.`),!1}return i.every(r=>{if(-1===t.indexOf(r))return !0===this._vueTypes_isLoose||(d(`shape - shape definition does not include a "${r}" property. Allowed keys: "${t.join('", "')}".`),!1);const i=m(e[r],n[r],!0);return "string"==typeof i&&d(`shape - "${r}" property validation error:\n ${$(i)}`),!0===i})}});return Object.defineProperty(n,"_vueTypes_isLoose",{writable:!0,value:!1}),Object.defineProperty(n,"loose",{get(){return this._vueTypes_isLoose=!0,this}}),n}const J=["name","validate","getter"],M=/*#__PURE__*/(()=>{var e,t;return t=e=class{static get any(){return w()}static get func(){return P().def(this.defaults.func)}static get bool(){return x().def(this.defaults.bool)}static get string(){return E().def(this.defaults.string)}static get number(){return N().def(this.defaults.number)}static get array(){return q().def(this.defaults.array)}static get object(){return A().def(this.defaults.object)}static get integer(){return V().def(this.defaults.integer)}static get symbol(){return S()}static extend(e){if(v(e))return e.forEach(e=>this.extend(e)),this;const{name:t,validate:n=!1,getter:i=!1}=e,o=r(e,J);if(p(this,t))throw new TypeError(`[VueTypes error]: Type "${t}" already defined`);const{type:a}=o;if(b(a))return delete o.type,Object.defineProperty(this,t,i?{get:()=>T(t,a,o)}:{value(...e){const r=T(t,a,o);return r.validator&&(r.validator=r.validator.bind(r,...e)),r}});let s;return s=i?{get(){const e=Object.assign({},o);return n?_(t,e):j(t,e)},enumerable:!0}:{value(...e){const r=Object.assign({},o);let i;return i=n?_(t,r):j(t,r),r.validator&&(i.validator=r.validator.bind(i,...e)),i},enumerable:!0},Object.defineProperty(this,t,s)}},e.defaults={},e.sensibleDefaults=void 0,e.config=n,e.custom=k,e.oneOf=D,e.instanceOf=Y,e.oneOfType=L,e.arrayOf=F,e.objectOf=B,e.shape=I,e.utils={validate:(e,t)=>!0===m(t,e,!0),toType:(e,t,r=!1)=>r?_(e,t):j(e,t)},t})();function R(e={func:()=>{},bool:!0,string:"",number:0,array:()=>[],object:()=>({}),integer:0}){var r,n;return n=r=class extends M{static get sensibleDefaults(){return t({},this.defaults)}static set sensibleDefaults(r){this.defaults=!1!==r?t({},!0!==r?r:e):{};}},r.defaults=t({},e),n}class z extends(R()){}
|
|
38
38
|
|
|
39
39
|
const timelineProps = () => ({
|
|
40
|
-
mode:
|
|
41
|
-
labelWidth:
|
|
40
|
+
mode: z.oneOf(['left', 'right']).def('left'),
|
|
41
|
+
labelWidth: z.string.def(''),
|
|
42
42
|
});
|
|
43
43
|
const timelineItemProps = () => ({
|
|
44
|
-
color:
|
|
45
|
-
dot:
|
|
46
|
-
label:
|
|
44
|
+
color: z.oneOf(['blue', 'red', 'green', 'gray']).def('blue'),
|
|
45
|
+
dot: z.any.def(''),
|
|
46
|
+
label: z.any.def(''),
|
|
47
47
|
});
|
|
48
48
|
|
|
49
49
|
var _export_sfc = (sfc, props) => {
|
|
@@ -14,7 +14,11 @@ export declare const timelineItemProps: () => {
|
|
|
14
14
|
color: import("vue-types").VueTypeDef<string> & {
|
|
15
15
|
default: string;
|
|
16
16
|
};
|
|
17
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
18
|
-
|
|
17
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
18
|
+
default: any;
|
|
19
|
+
};
|
|
20
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
21
|
+
default: any;
|
|
22
|
+
};
|
|
19
23
|
};
|
|
20
24
|
export declare type TimelineItemProps = Partial<ExtractPropTypes<ReturnType<typeof timelineItemProps>>>;
|
|
@@ -3,8 +3,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3
3
|
color: import("vue-types").VueTypeDef<string> & {
|
|
4
4
|
default: string;
|
|
5
5
|
};
|
|
6
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
7
|
-
|
|
6
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
7
|
+
default: any;
|
|
8
|
+
};
|
|
9
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
10
|
+
default: any;
|
|
11
|
+
};
|
|
8
12
|
}, {
|
|
9
13
|
slots: Readonly<{
|
|
10
14
|
[name: string]: import("vue").Slot | undefined;
|
|
@@ -13,8 +17,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
13
17
|
color: import("vue-types").VueTypeDef<string> & {
|
|
14
18
|
default: string;
|
|
15
19
|
};
|
|
16
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
17
|
-
|
|
20
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
21
|
+
default: any;
|
|
22
|
+
};
|
|
23
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
24
|
+
default: any;
|
|
25
|
+
};
|
|
18
26
|
}>> & {
|
|
19
27
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
20
28
|
}>>;
|
|
@@ -43,9 +51,15 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
43
51
|
color: import("vue-types").VueTypeDef<string> & {
|
|
44
52
|
default: string;
|
|
45
53
|
};
|
|
46
|
-
dot: import("vue-types").VueTypeValidableDef<any
|
|
47
|
-
|
|
54
|
+
dot: import("vue-types").VueTypeValidableDef<any> & {
|
|
55
|
+
default: any;
|
|
56
|
+
};
|
|
57
|
+
label: import("vue-types").VueTypeValidableDef<any> & {
|
|
58
|
+
default: any;
|
|
59
|
+
};
|
|
48
60
|
}>>, {
|
|
49
61
|
color: string;
|
|
62
|
+
label: any;
|
|
63
|
+
dot: any;
|
|
50
64
|
}>;
|
|
51
65
|
export default _default;
|
|
@@ -61,6 +61,14 @@ declare const BmUpload: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
|
|
|
61
61
|
type: StringConstructor;
|
|
62
62
|
default: string;
|
|
63
63
|
};
|
|
64
|
+
holdProgress: {
|
|
65
|
+
type: NumberConstructor;
|
|
66
|
+
default: number;
|
|
67
|
+
};
|
|
68
|
+
customErrors: {
|
|
69
|
+
type: ObjectConstructor;
|
|
70
|
+
default(): undefined;
|
|
71
|
+
};
|
|
64
72
|
};
|
|
65
73
|
emits: string[];
|
|
66
74
|
setup(props: any, { emit }: {
|
|
@@ -68,6 +76,7 @@ declare const BmUpload: import("bm-admin-ui/es/utils/with-install").SFCWithInsta
|
|
|
68
76
|
}): {
|
|
69
77
|
uploadDisabled: import("vue").ComputedRef<boolean>;
|
|
70
78
|
customUploadRequest(file: any): void;
|
|
79
|
+
fileIsDelete(file: any): boolean;
|
|
71
80
|
uploadSuccess(data: any, file: any): void;
|
|
72
81
|
uploadError(error: any, file?: any): void;
|
|
73
82
|
deleteFile(uid: any): Promise<void>;
|
|
@@ -65,7 +65,7 @@ function boundAlpha(a) {
|
|
|
65
65
|
*/
|
|
66
66
|
function convertToPercentage(n) {
|
|
67
67
|
if (n <= 1) {
|
|
68
|
-
return
|
|
68
|
+
return Number(n) * 100 + "%";
|
|
69
69
|
}
|
|
70
70
|
return n;
|
|
71
71
|
}
|
|
@@ -447,12 +447,12 @@ var CSS_INTEGER = '[-\\+]?\\d+%?';
|
|
|
447
447
|
// <http://www.w3.org/TR/css3-values/#number-value>
|
|
448
448
|
var CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?';
|
|
449
449
|
// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.
|
|
450
|
-
var CSS_UNIT = "(?:"
|
|
450
|
+
var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
|
|
451
451
|
// Actual matching.
|
|
452
452
|
// Parentheses and commas are optional, but not required.
|
|
453
453
|
// Whitespace can take the place of commas or opening paren
|
|
454
|
-
var PERMISSIVE_MATCH3 = "[\\s|\\(]+("
|
|
455
|
-
var PERMISSIVE_MATCH4 = "[\\s|\\(]+("
|
|
454
|
+
var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
|
|
455
|
+
var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
|
|
456
456
|
var matchers = {
|
|
457
457
|
CSS_UNIT: new RegExp(CSS_UNIT),
|
|
458
458
|
rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),
|
|
@@ -777,6 +777,19 @@ Object.keys(presetPrimaryColors).forEach(function (key) {
|
|
|
777
777
|
});
|
|
778
778
|
presetDarkPalettes[key].primary = presetDarkPalettes[key][5];
|
|
779
779
|
});
|
|
780
|
+
presetPalettes.red;
|
|
781
|
+
presetPalettes.volcano;
|
|
782
|
+
presetPalettes.gold;
|
|
783
|
+
presetPalettes.orange;
|
|
784
|
+
presetPalettes.yellow;
|
|
785
|
+
presetPalettes.lime;
|
|
786
|
+
presetPalettes.green;
|
|
787
|
+
presetPalettes.cyan;
|
|
788
|
+
presetPalettes.blue;
|
|
789
|
+
presetPalettes.geekblue;
|
|
790
|
+
presetPalettes.purple;
|
|
791
|
+
presetPalettes.magenta;
|
|
792
|
+
presetPalettes.grey;
|
|
780
793
|
|
|
781
794
|
// https://github.com/substack/insert-css
|
|
782
795
|
var containers = []; // will store container HTMLElement references
|
|
@@ -1171,19 +1184,16 @@ const _sfc_main$1 = {
|
|
|
1171
1184
|
isShow: false,
|
|
1172
1185
|
openShow: false
|
|
1173
1186
|
});
|
|
1174
|
-
const observer = new IntersectionObserver(
|
|
1175
|
-
(
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
threshold: 0.3
|
|
1185
|
-
}
|
|
1186
|
-
);
|
|
1187
|
+
const observer = new IntersectionObserver((entries) => {
|
|
1188
|
+
entries.forEach((item) => {
|
|
1189
|
+
if (item.intersectionRatio > 0.3) {
|
|
1190
|
+
observerDom();
|
|
1191
|
+
observer.disconnect();
|
|
1192
|
+
}
|
|
1193
|
+
});
|
|
1194
|
+
}, {
|
|
1195
|
+
threshold: 0.3
|
|
1196
|
+
});
|
|
1187
1197
|
function observerDom() {
|
|
1188
1198
|
if (props.line === 1) {
|
|
1189
1199
|
if (mySelf.value.scrollWidth > mySelf.value.clientWidth) {
|
|
@@ -1199,20 +1209,16 @@ const _sfc_main$1 = {
|
|
|
1199
1209
|
observer.disconnect();
|
|
1200
1210
|
});
|
|
1201
1211
|
let mySelf = ref();
|
|
1202
|
-
watch(
|
|
1203
|
-
()
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
mySelf.value && observer.
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
{
|
|
1213
|
-
immediate: true
|
|
1214
|
-
}
|
|
1215
|
-
);
|
|
1212
|
+
watch(() => props.showAlways, function(showAlways) {
|
|
1213
|
+
if (showAlways)
|
|
1214
|
+
state.openShow = showAlways;
|
|
1215
|
+
mySelf.value && observer.unobserve(mySelf.value);
|
|
1216
|
+
nextTick(function() {
|
|
1217
|
+
mySelf.value && observer.observe(mySelf.value);
|
|
1218
|
+
});
|
|
1219
|
+
}, {
|
|
1220
|
+
immediate: true
|
|
1221
|
+
});
|
|
1216
1222
|
const handleVisibleChange = (val) => {
|
|
1217
1223
|
state.isShow = !state.openShow ? false : val;
|
|
1218
1224
|
};
|
|
@@ -1327,6 +1333,16 @@ const _sfc_main = {
|
|
|
1327
1333
|
cloudReadUrl: {
|
|
1328
1334
|
type: String,
|
|
1329
1335
|
default: ""
|
|
1336
|
+
},
|
|
1337
|
+
holdProgress: {
|
|
1338
|
+
type: Number,
|
|
1339
|
+
default: 0
|
|
1340
|
+
},
|
|
1341
|
+
customErrors: {
|
|
1342
|
+
type: Object,
|
|
1343
|
+
default() {
|
|
1344
|
+
return void 0;
|
|
1345
|
+
}
|
|
1330
1346
|
}
|
|
1331
1347
|
},
|
|
1332
1348
|
emits: [
|
|
@@ -1336,7 +1352,9 @@ const _sfc_main = {
|
|
|
1336
1352
|
"previewFile",
|
|
1337
1353
|
"successFile",
|
|
1338
1354
|
"deleteFile",
|
|
1339
|
-
"error"
|
|
1355
|
+
"error",
|
|
1356
|
+
"updateDisabledStatus",
|
|
1357
|
+
"updateIsUploadingStatus"
|
|
1340
1358
|
],
|
|
1341
1359
|
setup(props, { emit }) {
|
|
1342
1360
|
let acceptList = [
|
|
@@ -1388,19 +1406,15 @@ const _sfc_main = {
|
|
|
1388
1406
|
disabled: false,
|
|
1389
1407
|
async customRequest({ file, fileField, data }) {
|
|
1390
1408
|
if (file.size > state.extraConfigs.maxSize * 1024 * 1024) {
|
|
1391
|
-
return methods.uploadError(
|
|
1392
|
-
new Error(`\u4E0D\u80FD\u4E0A\u4F20\u5927\u4E8E${state.extraConfigs.maxSize}M\u7684\u6587\u4EF6`)
|
|
1393
|
-
);
|
|
1409
|
+
return methods.uploadError(new Error(props.customErrors?.maxSize || `\u4E0D\u80FD\u4E0A\u4F20\u5927\u4E8E${state.extraConfigs.maxSize}M\u7684\u6587\u4EF6`));
|
|
1394
1410
|
}
|
|
1395
1411
|
if (Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
|
|
1396
|
-
return methods.uploadError(
|
|
1397
|
-
new Error(`\u4E0D\u80FD\u4E0A\u4F20\u591A\u4E8E${state.extraConfigs.maxCount}\u4E2A\u6587\u4EF6`)
|
|
1398
|
-
);
|
|
1412
|
+
return methods.uploadError(new Error(props.customErrors?.maxCount || `\u4E0D\u80FD\u4E0A\u4F20\u591A\u4E8E${state.extraConfigs.maxCount}\u4E2A\u6587\u4EF6`));
|
|
1399
1413
|
}
|
|
1400
1414
|
let name = file.name;
|
|
1401
1415
|
let fileFormat = name.split(".").pop();
|
|
1402
1416
|
if (!state.uploadConfigs.accept.includes(`.${fileFormat}`)) {
|
|
1403
|
-
return methods.uploadError(new Error(`\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`));
|
|
1417
|
+
return methods.uploadError(new Error(props.customErrors?.format || `\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`));
|
|
1404
1418
|
}
|
|
1405
1419
|
state.fileList[file.uid] = {
|
|
1406
1420
|
uid: file.uid,
|
|
@@ -1420,16 +1434,25 @@ const _sfc_main = {
|
|
|
1420
1434
|
});
|
|
1421
1435
|
const methods = {
|
|
1422
1436
|
customUploadRequest(file) {
|
|
1437
|
+
const updateUploadProgress = (progress) => {
|
|
1438
|
+
if (methods.fileIsDelete(file)) {
|
|
1439
|
+
return;
|
|
1440
|
+
}
|
|
1441
|
+
state.fileList[file.uid] = {
|
|
1442
|
+
...state.fileList[file.uid],
|
|
1443
|
+
progress
|
|
1444
|
+
};
|
|
1445
|
+
};
|
|
1423
1446
|
props.uploadRequest?.(file, {
|
|
1424
1447
|
onUploadProgress: (e) => {
|
|
1425
1448
|
let progress = Math.round(e.loaded / e.total * 100);
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1449
|
+
if (props.holdProgress) {
|
|
1450
|
+
progress = progress > props.holdProgress ? props.holdProgress : progress;
|
|
1451
|
+
}
|
|
1452
|
+
updateUploadProgress(progress);
|
|
1430
1453
|
}
|
|
1431
1454
|
}).then(function(data) {
|
|
1432
|
-
|
|
1455
|
+
updateUploadProgress(100);
|
|
1433
1456
|
methods.uploadSuccess(data, file);
|
|
1434
1457
|
}).catch(function(error) {
|
|
1435
1458
|
console.error(error);
|
|
@@ -1439,7 +1462,13 @@ const _sfc_main = {
|
|
|
1439
1462
|
methods.uploadError(error, file);
|
|
1440
1463
|
});
|
|
1441
1464
|
},
|
|
1465
|
+
fileIsDelete(file) {
|
|
1466
|
+
return !state.fileList[file.uid];
|
|
1467
|
+
},
|
|
1442
1468
|
uploadSuccess(data, file) {
|
|
1469
|
+
if (methods.fileIsDelete(file)) {
|
|
1470
|
+
return;
|
|
1471
|
+
}
|
|
1443
1472
|
emit("successFile", data);
|
|
1444
1473
|
let uri = data?.url;
|
|
1445
1474
|
let item = state.extraConfigs.fileDetail ? {
|
|
@@ -1454,15 +1483,16 @@ const _sfc_main = {
|
|
|
1454
1483
|
emit("update", state.uploadedList);
|
|
1455
1484
|
},
|
|
1456
1485
|
uploadError(error, file = {}) {
|
|
1486
|
+
if (methods.fileIsDelete(file)) {
|
|
1487
|
+
return;
|
|
1488
|
+
}
|
|
1457
1489
|
if (file.uid && state.fileList[file.uid]) {
|
|
1458
1490
|
state.fileList[file.uid].status = "error";
|
|
1459
1491
|
}
|
|
1460
1492
|
emit("error", error);
|
|
1461
1493
|
},
|
|
1462
1494
|
async deleteFile(uid) {
|
|
1463
|
-
const index = state.uploadedList.findIndex(
|
|
1464
|
-
(ele) => state.extraConfigs.fileDetail ? ele === state.fileList[uid].url : ele.url === state.fileList[uid].url
|
|
1465
|
-
);
|
|
1495
|
+
const index = state.uploadedList.findIndex((ele) => state.extraConfigs.fileDetail ? ele === state.fileList[uid].url : ele.url === state.fileList[uid].url);
|
|
1466
1496
|
emit("deleteFile", state.fileList[uid]);
|
|
1467
1497
|
state.uploadedList.splice(index, 1);
|
|
1468
1498
|
delete state.fileList[uid];
|
|
@@ -1476,9 +1506,7 @@ const _sfc_main = {
|
|
|
1476
1506
|
state.onepViewImageHover[uid] = false;
|
|
1477
1507
|
},
|
|
1478
1508
|
viewOnePicture(item) {
|
|
1479
|
-
if (["img", "image", "png", "jpg", "jpeg"].includes(
|
|
1480
|
-
item.type.toLowerCase()
|
|
1481
|
-
)) {
|
|
1509
|
+
if (["img", "image", "png", "jpg", "jpeg"].includes(item.type.toLowerCase())) {
|
|
1482
1510
|
state.previewVisible = true;
|
|
1483
1511
|
state.onepViewImage = item;
|
|
1484
1512
|
return;
|
|
@@ -1530,48 +1558,43 @@ const _sfc_main = {
|
|
|
1530
1558
|
}
|
|
1531
1559
|
}
|
|
1532
1560
|
};
|
|
1533
|
-
watch(
|
|
1534
|
-
()
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
},
|
|
1553
|
-
{
|
|
1554
|
-
immediate: true
|
|
1555
|
-
}
|
|
1556
|
-
);
|
|
1557
|
-
watch(
|
|
1558
|
-
[() => props.uploadProps, () => props.extraProps],
|
|
1559
|
-
function([config, extra]) {
|
|
1560
|
-
state.uploadConfigs = {
|
|
1561
|
-
...state.uploadConfigs,
|
|
1562
|
-
...config,
|
|
1563
|
-
showUploadList: false
|
|
1564
|
-
};
|
|
1565
|
-
state.extraConfigs = {
|
|
1566
|
-
...state.extraConfigs,
|
|
1567
|
-
...extra
|
|
1568
|
-
};
|
|
1569
|
-
},
|
|
1570
|
-
{
|
|
1571
|
-
immediate: true,
|
|
1572
|
-
deep: true
|
|
1561
|
+
watch(() => props.defaultList, function(list) {
|
|
1562
|
+
if (list.length) {
|
|
1563
|
+
list.forEach(function(item) {
|
|
1564
|
+
let uid = utils.getuid();
|
|
1565
|
+
if (!item.url.includes("http") && !item.url.includes(CLOUND_PRE))
|
|
1566
|
+
item.url = props.cloudReadUrl + item.url;
|
|
1567
|
+
state.fileList[uid] = {
|
|
1568
|
+
uid,
|
|
1569
|
+
name: item.name,
|
|
1570
|
+
url: item.url,
|
|
1571
|
+
type: item.type || "png",
|
|
1572
|
+
progress: 100,
|
|
1573
|
+
isDoneDeloy: true
|
|
1574
|
+
};
|
|
1575
|
+
state.uploadedList.push(item);
|
|
1576
|
+
});
|
|
1577
|
+
} else {
|
|
1578
|
+
state.fileList = {};
|
|
1579
|
+
state.uploadedList = [];
|
|
1573
1580
|
}
|
|
1574
|
-
|
|
1581
|
+
}, {
|
|
1582
|
+
immediate: true
|
|
1583
|
+
});
|
|
1584
|
+
watch([() => props.uploadProps, () => props.extraProps], function([config, extra]) {
|
|
1585
|
+
state.uploadConfigs = {
|
|
1586
|
+
...state.uploadConfigs,
|
|
1587
|
+
...config,
|
|
1588
|
+
showUploadList: false
|
|
1589
|
+
};
|
|
1590
|
+
state.extraConfigs = {
|
|
1591
|
+
...state.extraConfigs,
|
|
1592
|
+
...extra
|
|
1593
|
+
};
|
|
1594
|
+
}, {
|
|
1595
|
+
immediate: true,
|
|
1596
|
+
deep: true
|
|
1597
|
+
});
|
|
1575
1598
|
const uploadDisabled = computed(() => {
|
|
1576
1599
|
if (Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
|
|
1577
1600
|
return true;
|
|
@@ -1581,6 +1604,26 @@ const _sfc_main = {
|
|
|
1581
1604
|
watchEffect(() => {
|
|
1582
1605
|
state.uploadConfigs.disabled = uploadDisabled.value;
|
|
1583
1606
|
});
|
|
1607
|
+
watch(() => uploadDisabled.value, (value) => {
|
|
1608
|
+
emit("updateDisabledStatus", value);
|
|
1609
|
+
}, {
|
|
1610
|
+
immediate: true
|
|
1611
|
+
});
|
|
1612
|
+
const isUploading = computed(() => {
|
|
1613
|
+
let ret = false;
|
|
1614
|
+
let fileList = state.fileList || {};
|
|
1615
|
+
Object.keys(fileList).forEach((uid) => {
|
|
1616
|
+
if (fileList[uid]?.progress && fileList[uid].progress < 100) {
|
|
1617
|
+
ret = true;
|
|
1618
|
+
}
|
|
1619
|
+
});
|
|
1620
|
+
return ret;
|
|
1621
|
+
});
|
|
1622
|
+
watch(() => isUploading.value, (value) => {
|
|
1623
|
+
emit("updateIsUploadingStatus", value);
|
|
1624
|
+
}, {
|
|
1625
|
+
immediate: true
|
|
1626
|
+
});
|
|
1584
1627
|
return {
|
|
1585
1628
|
...toRefs(state),
|
|
1586
1629
|
icons,
|
|
@@ -1734,7 +1777,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1734
1777
|
key: 1,
|
|
1735
1778
|
file: item
|
|
1736
1779
|
})
|
|
1737
|
-
],
|
|
1780
|
+
], 2112)) : createCommentVNode("v-if", true),
|
|
1738
1781
|
createCommentVNode(" \u56FE\u7247\u9519\u8BEF\u5C55\u793A "),
|
|
1739
1782
|
item.status === "error" ? (openBlock(), createElementBlock("div", {
|
|
1740
1783
|
key: 2,
|
|
@@ -1780,7 +1823,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1780
1823
|
}, 8, ["class", "disabled"]),
|
|
1781
1824
|
_ctx.extraConfigs.tips && _ctx.extraConfigs.showTips ? (openBlock(), createElementBlock("div", _hoisted_23, toDisplayString(_ctx.extraConfigs.tips), 1)) : createCommentVNode("v-if", true)
|
|
1782
1825
|
])) : createCommentVNode("v-if", true)
|
|
1783
|
-
],
|
|
1826
|
+
], 2112))
|
|
1784
1827
|
]),
|
|
1785
1828
|
_: 3
|
|
1786
1829
|
}, 16, ["class"])) : createCommentVNode("v-if", true),
|
|
@@ -61,6 +61,14 @@ declare const _default: {
|
|
|
61
61
|
type: StringConstructor;
|
|
62
62
|
default: string;
|
|
63
63
|
};
|
|
64
|
+
holdProgress: {
|
|
65
|
+
type: NumberConstructor;
|
|
66
|
+
default: number;
|
|
67
|
+
};
|
|
68
|
+
customErrors: {
|
|
69
|
+
type: ObjectConstructor;
|
|
70
|
+
default(): undefined;
|
|
71
|
+
};
|
|
64
72
|
};
|
|
65
73
|
emits: string[];
|
|
66
74
|
setup(props: any, { emit }: {
|
|
@@ -68,6 +76,7 @@ declare const _default: {
|
|
|
68
76
|
}): {
|
|
69
77
|
uploadDisabled: import("vue").ComputedRef<boolean>;
|
|
70
78
|
customUploadRequest(file: any): void;
|
|
79
|
+
fileIsDelete(file: any): boolean;
|
|
71
80
|
uploadSuccess(data: any, file: any): void;
|
|
72
81
|
uploadError(error: any, file?: any): void;
|
|
73
82
|
deleteFile(uid: any): Promise<void>;
|