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;
|
|
@@ -38,16 +38,16 @@ function isPlainObject(o) {
|
|
|
38
38
|
return true;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
function t(){return t=Object.assign
|
|
41
|
+
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()){}
|
|
42
42
|
|
|
43
43
|
const timelineProps = () => ({
|
|
44
|
-
mode:
|
|
45
|
-
labelWidth:
|
|
44
|
+
mode: z.oneOf(['left', 'right']).def('left'),
|
|
45
|
+
labelWidth: z.string.def(''),
|
|
46
46
|
});
|
|
47
47
|
const timelineItemProps = () => ({
|
|
48
|
-
color:
|
|
49
|
-
dot:
|
|
50
|
-
label:
|
|
48
|
+
color: z.oneOf(['blue', 'red', 'green', 'gray']).def('blue'),
|
|
49
|
+
dot: z.any.def(''),
|
|
50
|
+
label: z.any.def(''),
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
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>;
|
|
@@ -69,7 +69,7 @@ function boundAlpha(a) {
|
|
|
69
69
|
*/
|
|
70
70
|
function convertToPercentage(n) {
|
|
71
71
|
if (n <= 1) {
|
|
72
|
-
return
|
|
72
|
+
return Number(n) * 100 + "%";
|
|
73
73
|
}
|
|
74
74
|
return n;
|
|
75
75
|
}
|
|
@@ -451,12 +451,12 @@ var CSS_INTEGER = '[-\\+]?\\d+%?';
|
|
|
451
451
|
// <http://www.w3.org/TR/css3-values/#number-value>
|
|
452
452
|
var CSS_NUMBER = '[-\\+]?\\d*\\.\\d+%?';
|
|
453
453
|
// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.
|
|
454
|
-
var CSS_UNIT = "(?:"
|
|
454
|
+
var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")";
|
|
455
455
|
// Actual matching.
|
|
456
456
|
// Parentheses and commas are optional, but not required.
|
|
457
457
|
// Whitespace can take the place of commas or opening paren
|
|
458
|
-
var PERMISSIVE_MATCH3 = "[\\s|\\(]+("
|
|
459
|
-
var PERMISSIVE_MATCH4 = "[\\s|\\(]+("
|
|
458
|
+
var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
|
|
459
|
+
var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?";
|
|
460
460
|
var matchers = {
|
|
461
461
|
CSS_UNIT: new RegExp(CSS_UNIT),
|
|
462
462
|
rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),
|
|
@@ -781,6 +781,19 @@ Object.keys(presetPrimaryColors).forEach(function (key) {
|
|
|
781
781
|
});
|
|
782
782
|
presetDarkPalettes[key].primary = presetDarkPalettes[key][5];
|
|
783
783
|
});
|
|
784
|
+
presetPalettes.red;
|
|
785
|
+
presetPalettes.volcano;
|
|
786
|
+
presetPalettes.gold;
|
|
787
|
+
presetPalettes.orange;
|
|
788
|
+
presetPalettes.yellow;
|
|
789
|
+
presetPalettes.lime;
|
|
790
|
+
presetPalettes.green;
|
|
791
|
+
presetPalettes.cyan;
|
|
792
|
+
presetPalettes.blue;
|
|
793
|
+
presetPalettes.geekblue;
|
|
794
|
+
presetPalettes.purple;
|
|
795
|
+
presetPalettes.magenta;
|
|
796
|
+
presetPalettes.grey;
|
|
784
797
|
|
|
785
798
|
// https://github.com/substack/insert-css
|
|
786
799
|
var containers = []; // will store container HTMLElement references
|
|
@@ -1175,19 +1188,16 @@ const _sfc_main$1 = {
|
|
|
1175
1188
|
isShow: false,
|
|
1176
1189
|
openShow: false
|
|
1177
1190
|
});
|
|
1178
|
-
const observer = new IntersectionObserver(
|
|
1179
|
-
(
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
threshold: 0.3
|
|
1189
|
-
}
|
|
1190
|
-
);
|
|
1191
|
+
const observer = new IntersectionObserver((entries) => {
|
|
1192
|
+
entries.forEach((item) => {
|
|
1193
|
+
if (item.intersectionRatio > 0.3) {
|
|
1194
|
+
observerDom();
|
|
1195
|
+
observer.disconnect();
|
|
1196
|
+
}
|
|
1197
|
+
});
|
|
1198
|
+
}, {
|
|
1199
|
+
threshold: 0.3
|
|
1200
|
+
});
|
|
1191
1201
|
function observerDom() {
|
|
1192
1202
|
if (props.line === 1) {
|
|
1193
1203
|
if (mySelf.value.scrollWidth > mySelf.value.clientWidth) {
|
|
@@ -1203,20 +1213,16 @@ const _sfc_main$1 = {
|
|
|
1203
1213
|
observer.disconnect();
|
|
1204
1214
|
});
|
|
1205
1215
|
let mySelf = vue.ref();
|
|
1206
|
-
vue.watch(
|
|
1207
|
-
()
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
mySelf.value && observer.
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
{
|
|
1217
|
-
immediate: true
|
|
1218
|
-
}
|
|
1219
|
-
);
|
|
1216
|
+
vue.watch(() => props.showAlways, function(showAlways) {
|
|
1217
|
+
if (showAlways)
|
|
1218
|
+
state.openShow = showAlways;
|
|
1219
|
+
mySelf.value && observer.unobserve(mySelf.value);
|
|
1220
|
+
vue.nextTick(function() {
|
|
1221
|
+
mySelf.value && observer.observe(mySelf.value);
|
|
1222
|
+
});
|
|
1223
|
+
}, {
|
|
1224
|
+
immediate: true
|
|
1225
|
+
});
|
|
1220
1226
|
const handleVisibleChange = (val) => {
|
|
1221
1227
|
state.isShow = !state.openShow ? false : val;
|
|
1222
1228
|
};
|
|
@@ -1331,6 +1337,16 @@ const _sfc_main = {
|
|
|
1331
1337
|
cloudReadUrl: {
|
|
1332
1338
|
type: String,
|
|
1333
1339
|
default: ""
|
|
1340
|
+
},
|
|
1341
|
+
holdProgress: {
|
|
1342
|
+
type: Number,
|
|
1343
|
+
default: 0
|
|
1344
|
+
},
|
|
1345
|
+
customErrors: {
|
|
1346
|
+
type: Object,
|
|
1347
|
+
default() {
|
|
1348
|
+
return void 0;
|
|
1349
|
+
}
|
|
1334
1350
|
}
|
|
1335
1351
|
},
|
|
1336
1352
|
emits: [
|
|
@@ -1340,7 +1356,9 @@ const _sfc_main = {
|
|
|
1340
1356
|
"previewFile",
|
|
1341
1357
|
"successFile",
|
|
1342
1358
|
"deleteFile",
|
|
1343
|
-
"error"
|
|
1359
|
+
"error",
|
|
1360
|
+
"updateDisabledStatus",
|
|
1361
|
+
"updateIsUploadingStatus"
|
|
1344
1362
|
],
|
|
1345
1363
|
setup(props, { emit }) {
|
|
1346
1364
|
let acceptList = [
|
|
@@ -1392,19 +1410,15 @@ const _sfc_main = {
|
|
|
1392
1410
|
disabled: false,
|
|
1393
1411
|
async customRequest({ file, fileField, data }) {
|
|
1394
1412
|
if (file.size > state.extraConfigs.maxSize * 1024 * 1024) {
|
|
1395
|
-
return methods.uploadError(
|
|
1396
|
-
new Error(`\u4E0D\u80FD\u4E0A\u4F20\u5927\u4E8E${state.extraConfigs.maxSize}M\u7684\u6587\u4EF6`)
|
|
1397
|
-
);
|
|
1413
|
+
return methods.uploadError(new Error(props.customErrors?.maxSize || `\u4E0D\u80FD\u4E0A\u4F20\u5927\u4E8E${state.extraConfigs.maxSize}M\u7684\u6587\u4EF6`));
|
|
1398
1414
|
}
|
|
1399
1415
|
if (Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
|
|
1400
|
-
return methods.uploadError(
|
|
1401
|
-
new Error(`\u4E0D\u80FD\u4E0A\u4F20\u591A\u4E8E${state.extraConfigs.maxCount}\u4E2A\u6587\u4EF6`)
|
|
1402
|
-
);
|
|
1416
|
+
return methods.uploadError(new Error(props.customErrors?.maxCount || `\u4E0D\u80FD\u4E0A\u4F20\u591A\u4E8E${state.extraConfigs.maxCount}\u4E2A\u6587\u4EF6`));
|
|
1403
1417
|
}
|
|
1404
1418
|
let name = file.name;
|
|
1405
1419
|
let fileFormat = name.split(".").pop();
|
|
1406
1420
|
if (!state.uploadConfigs.accept.includes(`.${fileFormat}`)) {
|
|
1407
|
-
return methods.uploadError(new Error(`\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`));
|
|
1421
|
+
return methods.uploadError(new Error(props.customErrors?.format || `\u4E0D\u80FD\u4E0A\u4F20\u8BE5\u7C7B\u578B\u6587\u4EF6`));
|
|
1408
1422
|
}
|
|
1409
1423
|
state.fileList[file.uid] = {
|
|
1410
1424
|
uid: file.uid,
|
|
@@ -1424,16 +1438,25 @@ const _sfc_main = {
|
|
|
1424
1438
|
});
|
|
1425
1439
|
const methods = {
|
|
1426
1440
|
customUploadRequest(file) {
|
|
1441
|
+
const updateUploadProgress = (progress) => {
|
|
1442
|
+
if (methods.fileIsDelete(file)) {
|
|
1443
|
+
return;
|
|
1444
|
+
}
|
|
1445
|
+
state.fileList[file.uid] = {
|
|
1446
|
+
...state.fileList[file.uid],
|
|
1447
|
+
progress
|
|
1448
|
+
};
|
|
1449
|
+
};
|
|
1427
1450
|
props.uploadRequest?.(file, {
|
|
1428
1451
|
onUploadProgress: (e) => {
|
|
1429
1452
|
let progress = Math.round(e.loaded / e.total * 100);
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1453
|
+
if (props.holdProgress) {
|
|
1454
|
+
progress = progress > props.holdProgress ? props.holdProgress : progress;
|
|
1455
|
+
}
|
|
1456
|
+
updateUploadProgress(progress);
|
|
1434
1457
|
}
|
|
1435
1458
|
}).then(function(data) {
|
|
1436
|
-
|
|
1459
|
+
updateUploadProgress(100);
|
|
1437
1460
|
methods.uploadSuccess(data, file);
|
|
1438
1461
|
}).catch(function(error) {
|
|
1439
1462
|
console.error(error);
|
|
@@ -1443,7 +1466,13 @@ const _sfc_main = {
|
|
|
1443
1466
|
methods.uploadError(error, file);
|
|
1444
1467
|
});
|
|
1445
1468
|
},
|
|
1469
|
+
fileIsDelete(file) {
|
|
1470
|
+
return !state.fileList[file.uid];
|
|
1471
|
+
},
|
|
1446
1472
|
uploadSuccess(data, file) {
|
|
1473
|
+
if (methods.fileIsDelete(file)) {
|
|
1474
|
+
return;
|
|
1475
|
+
}
|
|
1447
1476
|
emit("successFile", data);
|
|
1448
1477
|
let uri = data?.url;
|
|
1449
1478
|
let item = state.extraConfigs.fileDetail ? {
|
|
@@ -1458,15 +1487,16 @@ const _sfc_main = {
|
|
|
1458
1487
|
emit("update", state.uploadedList);
|
|
1459
1488
|
},
|
|
1460
1489
|
uploadError(error, file = {}) {
|
|
1490
|
+
if (methods.fileIsDelete(file)) {
|
|
1491
|
+
return;
|
|
1492
|
+
}
|
|
1461
1493
|
if (file.uid && state.fileList[file.uid]) {
|
|
1462
1494
|
state.fileList[file.uid].status = "error";
|
|
1463
1495
|
}
|
|
1464
1496
|
emit("error", error);
|
|
1465
1497
|
},
|
|
1466
1498
|
async deleteFile(uid) {
|
|
1467
|
-
const index = state.uploadedList.findIndex(
|
|
1468
|
-
(ele) => state.extraConfigs.fileDetail ? ele === state.fileList[uid].url : ele.url === state.fileList[uid].url
|
|
1469
|
-
);
|
|
1499
|
+
const index = state.uploadedList.findIndex((ele) => state.extraConfigs.fileDetail ? ele === state.fileList[uid].url : ele.url === state.fileList[uid].url);
|
|
1470
1500
|
emit("deleteFile", state.fileList[uid]);
|
|
1471
1501
|
state.uploadedList.splice(index, 1);
|
|
1472
1502
|
delete state.fileList[uid];
|
|
@@ -1480,9 +1510,7 @@ const _sfc_main = {
|
|
|
1480
1510
|
state.onepViewImageHover[uid] = false;
|
|
1481
1511
|
},
|
|
1482
1512
|
viewOnePicture(item) {
|
|
1483
|
-
if (["img", "image", "png", "jpg", "jpeg"].includes(
|
|
1484
|
-
item.type.toLowerCase()
|
|
1485
|
-
)) {
|
|
1513
|
+
if (["img", "image", "png", "jpg", "jpeg"].includes(item.type.toLowerCase())) {
|
|
1486
1514
|
state.previewVisible = true;
|
|
1487
1515
|
state.onepViewImage = item;
|
|
1488
1516
|
return;
|
|
@@ -1534,48 +1562,43 @@ const _sfc_main = {
|
|
|
1534
1562
|
}
|
|
1535
1563
|
}
|
|
1536
1564
|
};
|
|
1537
|
-
vue.watch(
|
|
1538
|
-
()
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
},
|
|
1557
|
-
{
|
|
1558
|
-
immediate: true
|
|
1559
|
-
}
|
|
1560
|
-
);
|
|
1561
|
-
vue.watch(
|
|
1562
|
-
[() => props.uploadProps, () => props.extraProps],
|
|
1563
|
-
function([config, extra]) {
|
|
1564
|
-
state.uploadConfigs = {
|
|
1565
|
-
...state.uploadConfigs,
|
|
1566
|
-
...config,
|
|
1567
|
-
showUploadList: false
|
|
1568
|
-
};
|
|
1569
|
-
state.extraConfigs = {
|
|
1570
|
-
...state.extraConfigs,
|
|
1571
|
-
...extra
|
|
1572
|
-
};
|
|
1573
|
-
},
|
|
1574
|
-
{
|
|
1575
|
-
immediate: true,
|
|
1576
|
-
deep: true
|
|
1565
|
+
vue.watch(() => props.defaultList, function(list) {
|
|
1566
|
+
if (list.length) {
|
|
1567
|
+
list.forEach(function(item) {
|
|
1568
|
+
let uid = utils.getuid();
|
|
1569
|
+
if (!item.url.includes("http") && !item.url.includes(CLOUND_PRE))
|
|
1570
|
+
item.url = props.cloudReadUrl + item.url;
|
|
1571
|
+
state.fileList[uid] = {
|
|
1572
|
+
uid,
|
|
1573
|
+
name: item.name,
|
|
1574
|
+
url: item.url,
|
|
1575
|
+
type: item.type || "png",
|
|
1576
|
+
progress: 100,
|
|
1577
|
+
isDoneDeloy: true
|
|
1578
|
+
};
|
|
1579
|
+
state.uploadedList.push(item);
|
|
1580
|
+
});
|
|
1581
|
+
} else {
|
|
1582
|
+
state.fileList = {};
|
|
1583
|
+
state.uploadedList = [];
|
|
1577
1584
|
}
|
|
1578
|
-
|
|
1585
|
+
}, {
|
|
1586
|
+
immediate: true
|
|
1587
|
+
});
|
|
1588
|
+
vue.watch([() => props.uploadProps, () => props.extraProps], function([config, extra]) {
|
|
1589
|
+
state.uploadConfigs = {
|
|
1590
|
+
...state.uploadConfigs,
|
|
1591
|
+
...config,
|
|
1592
|
+
showUploadList: false
|
|
1593
|
+
};
|
|
1594
|
+
state.extraConfigs = {
|
|
1595
|
+
...state.extraConfigs,
|
|
1596
|
+
...extra
|
|
1597
|
+
};
|
|
1598
|
+
}, {
|
|
1599
|
+
immediate: true,
|
|
1600
|
+
deep: true
|
|
1601
|
+
});
|
|
1579
1602
|
const uploadDisabled = vue.computed(() => {
|
|
1580
1603
|
if (Object.keys(state.fileList).length >= state.extraConfigs.maxCount) {
|
|
1581
1604
|
return true;
|
|
@@ -1585,6 +1608,26 @@ const _sfc_main = {
|
|
|
1585
1608
|
vue.watchEffect(() => {
|
|
1586
1609
|
state.uploadConfigs.disabled = uploadDisabled.value;
|
|
1587
1610
|
});
|
|
1611
|
+
vue.watch(() => uploadDisabled.value, (value) => {
|
|
1612
|
+
emit("updateDisabledStatus", value);
|
|
1613
|
+
}, {
|
|
1614
|
+
immediate: true
|
|
1615
|
+
});
|
|
1616
|
+
const isUploading = vue.computed(() => {
|
|
1617
|
+
let ret = false;
|
|
1618
|
+
let fileList = state.fileList || {};
|
|
1619
|
+
Object.keys(fileList).forEach((uid) => {
|
|
1620
|
+
if (fileList[uid]?.progress && fileList[uid].progress < 100) {
|
|
1621
|
+
ret = true;
|
|
1622
|
+
}
|
|
1623
|
+
});
|
|
1624
|
+
return ret;
|
|
1625
|
+
});
|
|
1626
|
+
vue.watch(() => isUploading.value, (value) => {
|
|
1627
|
+
emit("updateIsUploadingStatus", value);
|
|
1628
|
+
}, {
|
|
1629
|
+
immediate: true
|
|
1630
|
+
});
|
|
1588
1631
|
return {
|
|
1589
1632
|
...vue.toRefs(state),
|
|
1590
1633
|
icons,
|
|
@@ -1738,7 +1781,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1738
1781
|
key: 1,
|
|
1739
1782
|
file: item
|
|
1740
1783
|
})
|
|
1741
|
-
],
|
|
1784
|
+
], 2112)) : vue.createCommentVNode("v-if", true),
|
|
1742
1785
|
vue.createCommentVNode(" \u56FE\u7247\u9519\u8BEF\u5C55\u793A "),
|
|
1743
1786
|
item.status === "error" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
1744
1787
|
key: 2,
|
|
@@ -1784,7 +1827,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
1784
1827
|
}, 8, ["class", "disabled"]),
|
|
1785
1828
|
_ctx.extraConfigs.tips && _ctx.extraConfigs.showTips ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_23, vue.toDisplayString(_ctx.extraConfigs.tips), 1)) : vue.createCommentVNode("v-if", true)
|
|
1786
1829
|
])) : vue.createCommentVNode("v-if", true)
|
|
1787
|
-
],
|
|
1830
|
+
], 2112))
|
|
1788
1831
|
]),
|
|
1789
1832
|
_: 3
|
|
1790
1833
|
}, 16, ["class"])) : vue.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>;
|
package/package.json
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "bm-admin-ui",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"private": false,
|
|
5
|
-
"description": "An Admin Component Library for Bm",
|
|
6
|
-
"license": "UNLICENSED",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "http://gitlab.admin.bluemoon.com.cn/Frontend-web/bm-admin-ui"
|
|
10
|
-
},
|
|
11
|
-
"main": "lib/index.js",
|
|
12
|
-
"module": "es/index.js",
|
|
13
|
-
"unpkg": "index.js",
|
|
14
|
-
"peerDependencies": {
|
|
15
|
-
"vue": "^3.2.31"
|
|
16
|
-
},
|
|
17
|
-
"dependencies": {
|
|
18
|
-
"@form-create/ant-design-vue": "^3.1.11",
|
|
19
|
-
"@logicflow/core": "^1.1.7",
|
|
20
|
-
"@logicflow/extension": "^1.1.7",
|
|
21
|
-
"floating-vue": "2.0.0-beta.17",
|
|
22
|
-
"ant-design-vue": "^3.2.10",
|
|
23
|
-
"vxe-table": "^4.2.3",
|
|
24
|
-
"xe-utils": "^3.5.4"
|
|
25
|
-
},
|
|
26
|
-
"sideEffects": [
|
|
27
|
-
"theme-chalk/*.css"
|
|
28
|
-
]
|
|
29
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "bm-admin-ui",
|
|
3
|
+
"version": "1.0.18-alpha",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "An Admin Component Library for Bm",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "http://gitlab.admin.bluemoon.com.cn/Frontend-web/bm-admin-ui"
|
|
10
|
+
},
|
|
11
|
+
"main": "lib/index.js",
|
|
12
|
+
"module": "es/index.js",
|
|
13
|
+
"unpkg": "index.js",
|
|
14
|
+
"peerDependencies": {
|
|
15
|
+
"vue": "^3.2.31"
|
|
16
|
+
},
|
|
17
|
+
"dependencies": {
|
|
18
|
+
"@form-create/ant-design-vue": "^3.1.11",
|
|
19
|
+
"@logicflow/core": "^1.1.7",
|
|
20
|
+
"@logicflow/extension": "^1.1.7",
|
|
21
|
+
"floating-vue": "2.0.0-beta.17",
|
|
22
|
+
"ant-design-vue": "^3.2.10",
|
|
23
|
+
"vxe-table": "^4.2.3",
|
|
24
|
+
"xe-utils": "^3.5.4"
|
|
25
|
+
},
|
|
26
|
+
"sideEffects": [
|
|
27
|
+
"theme-chalk/*.css"
|
|
28
|
+
]
|
|
29
|
+
}
|