vue-devui 1.0.0-beta.10 → 1.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,11 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- import { defineComponent, createVNode, ref, computed, withDirectives, mergeProps, resolveDirective } from "vue";
17
+ var __publicField = (obj, key, value) => {
18
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
19
+ return value;
20
+ };
21
+ import { defineComponent, createVNode, ref, computed, withDirectives, mergeProps, resolveDirective, h, render } from "vue";
18
22
  var Icon = defineComponent({
19
23
  name: "DIcon",
20
24
  props: {
@@ -176,7 +180,205 @@ var Button = defineComponent({
176
180
  };
177
181
  }
178
182
  });
183
+ class View {
184
+ constructor() {
185
+ __publicField(this, "top", "50%");
186
+ __publicField(this, "left", "50%");
187
+ }
188
+ }
189
+ const componentProps = {
190
+ message: String,
191
+ backdrop: Boolean,
192
+ view: {
193
+ type: Object,
194
+ default: () => new View()
195
+ },
196
+ zIndex: Number,
197
+ isFull: {
198
+ type: Boolean,
199
+ default: false
200
+ }
201
+ };
202
+ class LoadingProps {
203
+ constructor() {
204
+ __publicField(this, "target");
205
+ __publicField(this, "message");
206
+ __publicField(this, "loadingTemplateRef");
207
+ __publicField(this, "backdrop", true);
208
+ __publicField(this, "positionType", "relative");
209
+ __publicField(this, "view", new View());
210
+ __publicField(this, "zIndex");
211
+ }
212
+ }
213
+ var loading = "";
214
+ var Loading = defineComponent({
215
+ name: "DLoading",
216
+ inheritAttrs: false,
217
+ props: componentProps,
218
+ setup(props) {
219
+ const style = {
220
+ top: props.view.top,
221
+ left: props.view.left,
222
+ zIndex: props.zIndex
223
+ };
224
+ if (!props.message) {
225
+ style.background = "none";
226
+ }
227
+ const isShow = ref(false);
228
+ const open = () => {
229
+ isShow.value = true;
230
+ };
231
+ const close = () => {
232
+ isShow.value = false;
233
+ };
234
+ return {
235
+ style,
236
+ isShow,
237
+ open,
238
+ close
239
+ };
240
+ },
241
+ render() {
242
+ var _a;
243
+ const {
244
+ isShow,
245
+ isFull,
246
+ backdrop,
247
+ style,
248
+ message,
249
+ $slots
250
+ } = this;
251
+ return isShow && createVNode("div", {
252
+ "class": ["devui-loading-contanier", isFull ? "devui-loading--full" : ""]
253
+ }, [((_a = $slots.default) == null ? void 0 : _a.call($slots)) || createVNode("div", {
254
+ "class": "devui-loading-wrapper"
255
+ }, [backdrop ? createVNode("div", {
256
+ "class": "devui-loading-mask"
257
+ }, null) : null, createVNode("div", {
258
+ "style": style,
259
+ "class": "devui-loading-area"
260
+ }, [createVNode("div", {
261
+ "class": "devui-busy-default-spinner"
262
+ }, [createVNode("div", {
263
+ "class": "devui-loading-bar1"
264
+ }, null), createVNode("div", {
265
+ "class": "devui-loading-bar2"
266
+ }, null), createVNode("div", {
267
+ "class": "devui-loading-bar3"
268
+ }, null), createVNode("div", {
269
+ "class": "devui-loading-bar4"
270
+ }, null)]), message ? createVNode("span", {
271
+ "class": "devui-loading-text"
272
+ }, [message]) : null])])]);
273
+ }
274
+ });
275
+ const COMPONENT_CONTAINER_SYMBOL = Symbol("dev_component_container");
276
+ function createComponent(Component, props, children = null) {
277
+ const vnode = h(Component, __spreadValues({}, props), children);
278
+ const container = document.createElement("div");
279
+ vnode[COMPONENT_CONTAINER_SYMBOL] = container;
280
+ render(vnode, container);
281
+ return vnode.component;
282
+ }
283
+ function unmountComponent(ComponnetInstance) {
284
+ render(null, ComponnetInstance == null ? void 0 : ComponnetInstance.vnode[COMPONENT_CONTAINER_SYMBOL]);
285
+ }
286
+ const loadingConstructor = defineComponent(Loading);
287
+ const cacheInstance = new WeakSet();
288
+ const isEmpty = (val) => {
289
+ if (!val)
290
+ return true;
291
+ if (Array.isArray(val))
292
+ return val.length === 0;
293
+ if (val instanceof Set || val instanceof Map)
294
+ return val.size === 0;
295
+ if (val instanceof Promise)
296
+ return false;
297
+ if (typeof val === "object") {
298
+ try {
299
+ return Object.keys(val).length === 0;
300
+ } catch (e) {
301
+ return false;
302
+ }
303
+ }
304
+ return false;
305
+ };
306
+ const getType = (vari) => {
307
+ return Object.prototype.toString.call(vari).slice(8, -1).toLowerCase();
308
+ };
309
+ const isPromise = (value) => {
310
+ const type = getType(value);
311
+ switch (type) {
312
+ case "promise":
313
+ return [value];
314
+ case "array":
315
+ if (value.some((val) => getType(val) !== "promise")) {
316
+ console.error(new TypeError("Binding values should all be of type Promise"));
317
+ return "error";
318
+ }
319
+ return value;
320
+ default:
321
+ return false;
322
+ }
323
+ };
324
+ const unmount = (el) => {
325
+ cacheInstance.delete(el);
326
+ el.instance.proxy.close();
327
+ unmountComponent(el.instance);
328
+ };
329
+ const toggleLoading = (el, binding) => {
330
+ if (binding.value) {
331
+ const vals = isPromise(binding.value);
332
+ if (vals === "error")
333
+ return;
334
+ el.instance.proxy.open();
335
+ el.appendChild(el.mask);
336
+ cacheInstance.add(el);
337
+ if (vals) {
338
+ Promise.all(vals).catch((err) => {
339
+ console.error(new Error("Promise handling errors"), err);
340
+ }).finally(() => {
341
+ unmount(el);
342
+ });
343
+ }
344
+ } else {
345
+ unmount(el);
346
+ }
347
+ };
348
+ const removeAttribute = (el) => {
349
+ el.removeAttribute("zindex");
350
+ el.removeAttribute("positiontype");
351
+ el.removeAttribute("backdrop");
352
+ el.removeAttribute("message");
353
+ el.removeAttribute("view");
354
+ el.removeAttribute("loadingtemplateref");
355
+ };
356
+ const handleProps = (el, vprops) => {
357
+ const props = __spreadValues(__spreadValues({}, new LoadingProps()), vprops);
358
+ const loadingTemplateRef = props.loadingTemplateRef;
359
+ const loadingInstance = createComponent(loadingConstructor, __spreadValues({}, props), loadingTemplateRef ? () => loadingTemplateRef : null);
360
+ el.style.position = props.positionType;
361
+ el.options = props;
362
+ el.instance = loadingInstance;
363
+ el.mask = loadingInstance.proxy.$el;
364
+ };
365
+ const loadingDirective = {
366
+ mounted: function(el, binding, vnode) {
367
+ handleProps(el, vnode.props);
368
+ removeAttribute(el);
369
+ !isEmpty(binding.value) && toggleLoading(el, binding);
370
+ },
371
+ updated: function(el, binding, vnode) {
372
+ if (!isEmpty(binding.value) && cacheInstance.has(el) || isEmpty(binding.value) && !cacheInstance.has(el))
373
+ return;
374
+ !cacheInstance.has(el) && handleProps(el, vnode.props);
375
+ removeAttribute(el);
376
+ toggleLoading(el, binding);
377
+ }
378
+ };
379
+ defineComponent(Loading);
179
380
  Button.install = function(app) {
381
+ app.directive("dLoading", loadingDirective);
180
382
  app.component(Button.name, Button);
181
383
  };
182
384
  var index = {
@@ -1 +1 @@
1
- var B=Object.defineProperty;var m=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable;var h=(n,t,o)=>t in n?B(n,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[t]=o,S=(n,t)=>{for(var o in t||(t={}))V.call(t,o)&&h(n,o,t[o]);if(m)for(var o of m(t))N.call(t,o)&&h(n,o,t[o]);return n};(function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(n=typeof globalThis!="undefined"?globalThis:n||self,t(n.index={},n.Vue))})(this,function(n,t){"use strict";var o=t.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup(e){return S({},e)},render(){const{name:e,size:l,color:f,classPrefix:r}=this;return/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:l,verticalAlign:"text-bottom"}},null):t.createVNode("i",{class:`${r} ${r}-${e}`,style:{fontSize:l,color:f}},null)}});o.install=function(e){e.component(o.name,o)};const y={type:{type:String,default:"button"},btnStyle:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var P="",a=t.defineComponent({name:"DButton",props:y,setup(e,l){const f=t.ref(null),r=i=>{var s;e.showLoading||(s=e.onClick)==null||s.call(e,i)},g=t.computed(()=>l.slots.default),$=t.computed(()=>{const{btnStyle:i,size:s,position:p,bordered:b,icon:d}=e,u=`devui-btn devui-btn-${i} devui-btn-${s} devui-btn-${p}`,c=b?"bordered":"",w=!!d&&!g.value&&i!=="primary"?"d-btn-icon":"";return`${u} ${c} ${w} ${d?"d-btn-icon-wrap":""}`}),v=t.computed(()=>{if(!e.icon)return;const i="devui-icon-fix icon";return g.value?`${i} clear-right-5`:i});return()=>{var u,c;const{icon:i,type:s,disabled:p,showLoading:b,width:d}=e;return t.withDirectives(t.createVNode("div",t.mergeProps({class:"devui-btn-host"},l.attrs),[t.createVNode("button",{class:$.value,type:s,disabled:p,style:{width:d},onClick:r},[i?t.createVNode(o,{name:i,class:v.value},null):null,t.createVNode("span",{class:"button-content",ref:f},[(c=(u=l.slots).default)==null?void 0:c.call(u)])])]),[[t.resolveDirective("dLoading"),b]])}}});a.install=function(e){e.component(a.name,a)};var C={title:"Button \u6309\u94AE",category:"\u901A\u7528",status:"100%",install(e){e.use(a)}};n.Button=a,n.buttonProps=y,n.default=C,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
1
+ var F=Object.defineProperty;var L=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var N=(i,t,r)=>t in i?F(i,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[t]=r,u=(i,t)=>{for(var r in t||(t={}))W.call(t,r)&&N(i,r,t[r]);if(L)for(var r of L(t))q.call(t,r)&&N(i,r,t[r]);return i};var d=(i,t,r)=>(N(i,typeof t!="symbol"?t+"":t,r),r);(function(i,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(i=typeof globalThis!="undefined"?globalThis:i||self,t(i.index={},i.Vue))})(this,function(i,t){"use strict";var r=t.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup(e){return u({},e)},render(){const{name:e,size:n,color:o,classPrefix:s}=this;return/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:n,verticalAlign:"text-bottom"}},null):t.createVNode("i",{class:`${s} ${s}-${e}`,style:{fontSize:n,color:o}},null)}});r.install=function(e){e.component(r.name,r)};const V={type:{type:String,default:"button"},btnStyle:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var Y="",f=t.defineComponent({name:"DButton",props:V,setup(e,n){const o=t.ref(null),s=l=>{var c;e.showLoading||(c=e.onClick)==null||c.call(e,l)},a=t.computed(()=>n.slots.default),m=t.computed(()=>{const{btnStyle:l,size:c,position:w,bordered:S,icon:y}=e,b=`devui-btn devui-btn-${l} devui-btn-${c} devui-btn-${w}`,h=S?"bordered":"",R=!!y&&!a.value&&l!=="primary"?"d-btn-icon":"";return`${b} ${h} ${R} ${y?"d-btn-icon-wrap":""}`}),g=t.computed(()=>{if(!e.icon)return;const l="devui-icon-fix icon";return a.value?`${l} clear-right-5`:l});return()=>{var b,h;const{icon:l,type:c,disabled:w,showLoading:S,width:y}=e;return t.withDirectives(t.createVNode("div",t.mergeProps({class:"devui-btn-host"},n.attrs),[t.createVNode("button",{class:m.value,type:c,disabled:w,style:{width:y},onClick:s},[l?t.createVNode(r,{name:l,class:g.value},null):null,t.createVNode("span",{class:"button-content",ref:o},[(h=(b=n.slots).default)==null?void 0:h.call(b)])])]),[[t.resolveDirective("dLoading"),S]])}}});class C{constructor(){d(this,"top","50%");d(this,"left","50%")}}const $={message:String,backdrop:Boolean,view:{type:Object,default:()=>new C},zIndex:Number,isFull:{type:Boolean,default:!1}};class I{constructor(){d(this,"target");d(this,"message");d(this,"loadingTemplateRef");d(this,"backdrop",!0);d(this,"positionType","relative");d(this,"view",new C);d(this,"zIndex")}}var G="",P=t.defineComponent({name:"DLoading",inheritAttrs:!1,props:$,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const o=t.ref(!1);return{style:n,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var g;const{isShow:e,isFull:n,backdrop:o,style:s,message:a,$slots:m}=this;return e&&t.createVNode("div",{class:["devui-loading-contanier",n?"devui-loading--full":""]},[((g=m.default)==null?void 0:g.call(m))||t.createVNode("div",{class:"devui-loading-wrapper"},[o?t.createVNode("div",{class:"devui-loading-mask"},null):null,t.createVNode("div",{style:s,class:"devui-loading-area"},[t.createVNode("div",{class:"devui-busy-default-spinner"},[t.createVNode("div",{class:"devui-loading-bar1"},null),t.createVNode("div",{class:"devui-loading-bar2"},null),t.createVNode("div",{class:"devui-loading-bar3"},null),t.createVNode("div",{class:"devui-loading-bar4"},null)]),a?t.createVNode("span",{class:"devui-loading-text"},[a]):null])])])}});const k=Symbol("dev_component_container");function O(e,n,o=null){const s=t.h(e,u({},n),o),a=document.createElement("div");return s[k]=a,t.render(s,a),s.component}function E(e){t.render(null,e==null?void 0:e.vnode[k])}const j=t.defineComponent(P),p=new WeakSet,v=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},A=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),D=e=>{switch(A(e)){case"promise":return[e];case"array":return e.some(o=>A(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},x=e=>{p.delete(e),e.instance.proxy.close(),E(e.instance)},B=(e,n)=>{if(n.value){const o=D(n.value);if(o==="error")return;e.instance.proxy.open(),e.appendChild(e.mask),p.add(e),o&&Promise.all(o).catch(s=>{console.error(new Error("Promise handling errors"),s)}).finally(()=>{x(e)})}else x(e)},T=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},z=(e,n)=>{const o=u(u({},new I),n),s=o.loadingTemplateRef,a=O(j,u({},o),s?()=>s:null);e.style.position=o.positionType,e.options=o,e.instance=a,e.mask=a.proxy.$el},_={mounted:function(e,n,o){z(e,o.props),T(e),!v(n.value)&&B(e,n)},updated:function(e,n,o){!v(n.value)&&p.has(e)||v(n.value)&&!p.has(e)||(!p.has(e)&&z(e,o.props),T(e),B(e,n))}};t.defineComponent(P),f.install=function(e){e.directive("dLoading",_),e.component(f.name,f)};var M={title:"Button \u6309\u94AE",category:"\u901A\u7528",status:"100%",install(e){e.use(f)}};i.Button=f,i.buttonProps=V,i.default=M,Object.defineProperty(i,"__esModule",{value:!0}),i[Symbol.toStringTag]="Module"});
package/button/style.css CHANGED
@@ -1 +1 @@
1
- .devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:normal;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:bold;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:bold;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:bold;line-height:1.5}.devui-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}
1
+ .devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:normal;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:bold;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:bold;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:bold;line-height:1.5}.devui-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-success{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-warning{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}@keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(135deg) scale(1.5)}to{transform:rotate(270deg) scale(1)}}.devui-loading-mask{position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #adb0b8);opacity:.3}.devui-loading-wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999}.devui-loading--hidden{overflow:hidden}.devui-loading-text{margin-left:10px}.devui-loading-area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-busy-default-spinner .devui-loading-bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-busy-default-spinner .devui-loading-bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}
@@ -212,9 +212,8 @@ var Drawer = defineComponent({
212
212
  const closeDrawer = async () => {
213
213
  var _a;
214
214
  const beforeHidden = props.beforeHidden;
215
- let result = (_a = typeof beforeHidden === "function" ? beforeHidden() : beforeHidden) != null ? _a : true;
215
+ let result = (_a = typeof beforeHidden === "function" ? beforeHidden() : beforeHidden) != null ? _a : false;
216
216
  if (result instanceof Promise) {
217
- console.log(result);
218
217
  result = await result;
219
218
  }
220
219
  if (result)
@@ -266,7 +265,7 @@ var Drawer = defineComponent({
266
265
  "to": "body"
267
266
  }, {
268
267
  default: () => [createVNode(DrawerBody, null, {
269
- default: () => [createVNode(DrawerHeader, {
268
+ default: () => [this.slots.header ? this.slots.header() : createVNode(DrawerHeader, {
270
269
  "onToggleFullScreen": fullScreenEvent,
271
270
  "onClose": closeDrawer
272
271
  }, null), this.slots.default ? this.slots.default() : createVNode(DrawerContainer, null, null)]
@@ -280,7 +279,7 @@ Drawer.install = function(app) {
280
279
  var index = {
281
280
  title: "Drawer \u62BD\u5C49\u677F",
282
281
  category: "\u53CD\u9988",
283
- status: "30%",
282
+ status: "50%",
284
283
  install(app) {
285
284
  app.use(Drawer);
286
285
  }
@@ -1 +1 @@
1
- var j=Object.defineProperty;var D=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var N=(n,e,o)=>e in n?j(n,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[e]=o,S=(n,e)=>{for(var o in e||(e={}))x.call(e,o)&&N(n,o,e[o]);if(D)for(var o of D(e))B.call(e,o)&&N(n,o,e[o]);return n};(function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n.index={},n.Vue))})(this,function(n,e){"use strict";const o={width:{type:String,default:"300px"},visible:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},isCover:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"left"},backdropCloseable:{type:Boolean,default:!0},beforeHidden:{type:[Promise,Function]}};var z="",V=e.defineComponent({name:"DrawerHeader",emits:["toggleFullScreen","close"],setup(r,t){const l=e.ref(!1),s=e.inject("visible");return{fullScreenClassName:e.computed(()=>l.value?"icon icon-minimize":"icon icon-maxmize"),visible:s,handleFullScreen:f=>{f.stopPropagation(),l.value=!l.value,t.emit("toggleFullScreen")},handleDrawerClose:()=>{t.emit("close")}}},render(){const{handleFullScreen:r,handleDrawerClose:t,visible:l,fullScreenClassName:s}=this;return l?e.createVNode("div",{class:"devui-drawer-header"},[e.createVNode("div",{class:"devui-drawer-header-item"},[e.createVNode("span",{class:"devui-drawer-header-item icon icon-more-operate"},null)]),e.createVNode("div",{class:"devui-drawer-header-item",onClick:r},[e.createVNode("span",{class:s},null)]),e.createVNode("div",{class:"devui-drawer-header-item",onClick:t},[e.createVNode("span",{class:"icon icon-close"},null)])]):null}}),g=e.defineComponent({name:"DrawerContainer",setup(){return{visible:e.inject("visible")}},render(){const{visible:r}=this;return r?e.createVNode("div",null,[e.createTextVNode("\u5185\u5BB9\u533A\u57DF")]):null}}),E="",k=e.defineComponent({name:"DrawerBody",setup(r,{slots:t}){const l=e.inject("isFullScreen"),s=e.inject("closeDrawer"),a=e.inject("zindex"),c=e.inject("isCover"),u=e.inject("position"),f=e.inject("width"),C=e.inject("visible"),v=e.inject("backdropCloseable"),d=e.computed(()=>u.value==="right"?{right:0}:{left:0}),b=e.computed(()=>l.value?"100vw":f.value);return{zindex:a,slots:t,isCover:c,navRight:d,navWidth:b,visible:C,clickContent:i=>{i.stopPropagation()},handleDrawerClose:()=>{!v.value||s()}}},render(){const{zindex:r,slots:t,isCover:l,navRight:s,navWidth:a,visible:c,handleDrawerClose:u}=this;return c?e.createVNode("div",{class:"devui-drawer",style:{zIndex:r},onClick:u},[l?e.createVNode("div",{class:"devui-overlay-backdrop"},null):null,e.createVNode("div",{class:"devui-overlay-wrapper"},[e.createVNode("div",{class:"devui-drawer-nav",style:S({width:a},s)},[e.createVNode("div",{class:"devui-drawer-content",onClick:this.clickContent},[t.default?t.default():null])])])]):null}}),p=e.defineComponent({name:"DDrawer",props:o,emits:["close","update:visible","afterOpened"],setup(r,{emit:t,slots:l}){const{width:s,visible:a,zIndex:c,isCover:u,escKeyCloseable:f,position:C,backdropCloseable:v}=e.toRefs(r),d=e.ref(!1),b=()=>{d.value=!d.value},h=async()=>{var y;const i=r.beforeHidden;let w=(y=typeof i=="function"?i():i)!=null?y:!0;w instanceof Promise&&(console.log(w),w=await w),!w&&(t("update:visible",!1),t("close"))},m=i=>{i.code==="Escape"&&h()};return e.watch(a,i=>{i&&(t("afterOpened"),d.value=!1),f&&i?document.addEventListener("keyup",m):document.removeEventListener("keyup",m)}),e.provide("closeDrawer",h),e.provide("zindex",c),e.provide("isCover",u),e.provide("position",C),e.provide("width",s),e.provide("visible",a),e.provide("isFullScreen",d),e.provide("backdropCloseable",v),e.onUnmounted(()=>{document.removeEventListener("keyup",m)}),{isFullScreen:d,visible:a,slots:l,fullScreenEvent:b,closeDrawer:h}},render(){const r=this.fullScreenEvent,t=this.closeDrawer;return this.visible?e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(k,null,{default:()=>[e.createVNode(V,{onToggleFullScreen:r,onClose:t},null),this.slots.default?this.slots.default():e.createVNode(g,null,null)]})]}):null}});p.install=function(r){r.component(p.name,p)};var F={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"30%",install(r){r.use(p)}};n.Drawer=p,n.default=F,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
1
+ var j=Object.defineProperty;var D=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable;var N=(n,e,l)=>e in n?j(n,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[e]=l,S=(n,e)=>{for(var l in e||(e={}))x.call(e,l)&&N(n,l,e[l]);if(D)for(var l of D(e))B.call(e,l)&&N(n,l,e[l]);return n};(function(n,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(n=typeof globalThis!="undefined"?globalThis:n||self,e(n.index={},n.Vue))})(this,function(n,e){"use strict";const l={width:{type:String,default:"300px"},visible:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},isCover:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"left"},backdropCloseable:{type:Boolean,default:!0},beforeHidden:{type:[Promise,Function]}};var z="",V=e.defineComponent({name:"DrawerHeader",emits:["toggleFullScreen","close"],setup(t,r){const o=e.ref(!1),s=e.inject("visible");return{fullScreenClassName:e.computed(()=>o.value?"icon icon-minimize":"icon icon-maxmize"),visible:s,handleFullScreen:f=>{f.stopPropagation(),o.value=!o.value,r.emit("toggleFullScreen")},handleDrawerClose:()=>{r.emit("close")}}},render(){const{handleFullScreen:t,handleDrawerClose:r,visible:o,fullScreenClassName:s}=this;return o?e.createVNode("div",{class:"devui-drawer-header"},[e.createVNode("div",{class:"devui-drawer-header-item"},[e.createVNode("span",{class:"devui-drawer-header-item icon icon-more-operate"},null)]),e.createVNode("div",{class:"devui-drawer-header-item",onClick:t},[e.createVNode("span",{class:s},null)]),e.createVNode("div",{class:"devui-drawer-header-item",onClick:r},[e.createVNode("span",{class:"icon icon-close"},null)])]):null}}),g=e.defineComponent({name:"DrawerContainer",setup(){return{visible:e.inject("visible")}},render(){const{visible:t}=this;return t?e.createVNode("div",null,[e.createTextVNode("\u5185\u5BB9\u533A\u57DF")]):null}}),E="",k=e.defineComponent({name:"DrawerBody",setup(t,{slots:r}){const o=e.inject("isFullScreen"),s=e.inject("closeDrawer"),a=e.inject("zindex"),c=e.inject("isCover"),u=e.inject("position"),f=e.inject("width"),C=e.inject("visible"),v=e.inject("backdropCloseable"),d=e.computed(()=>u.value==="right"?{right:0}:{left:0}),b=e.computed(()=>o.value?"100vw":f.value);return{zindex:a,slots:r,isCover:c,navRight:d,navWidth:b,visible:C,clickContent:i=>{i.stopPropagation()},handleDrawerClose:()=>{!v.value||s()}}},render(){const{zindex:t,slots:r,isCover:o,navRight:s,navWidth:a,visible:c,handleDrawerClose:u}=this;return c?e.createVNode("div",{class:"devui-drawer",style:{zIndex:t},onClick:u},[o?e.createVNode("div",{class:"devui-overlay-backdrop"},null):null,e.createVNode("div",{class:"devui-overlay-wrapper"},[e.createVNode("div",{class:"devui-drawer-nav",style:S({width:a},s)},[e.createVNode("div",{class:"devui-drawer-content",onClick:this.clickContent},[r.default?r.default():null])])])]):null}}),p=e.defineComponent({name:"DDrawer",props:l,emits:["close","update:visible","afterOpened"],setup(t,{emit:r,slots:o}){const{width:s,visible:a,zIndex:c,isCover:u,escKeyCloseable:f,position:C,backdropCloseable:v}=e.toRefs(t),d=e.ref(!1),b=()=>{d.value=!d.value},w=async()=>{var y;const i=t.beforeHidden;let m=(y=typeof i=="function"?i():i)!=null?y:!1;m instanceof Promise&&(m=await m),!m&&(r("update:visible",!1),r("close"))},h=i=>{i.code==="Escape"&&w()};return e.watch(a,i=>{i&&(r("afterOpened"),d.value=!1),f&&i?document.addEventListener("keyup",h):document.removeEventListener("keyup",h)}),e.provide("closeDrawer",w),e.provide("zindex",c),e.provide("isCover",u),e.provide("position",C),e.provide("width",s),e.provide("visible",a),e.provide("isFullScreen",d),e.provide("backdropCloseable",v),e.onUnmounted(()=>{document.removeEventListener("keyup",h)}),{isFullScreen:d,visible:a,slots:o,fullScreenEvent:b,closeDrawer:w}},render(){const t=this.fullScreenEvent,r=this.closeDrawer;return this.visible?e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(k,null,{default:()=>[this.slots.header?this.slots.header():e.createVNode(V,{onToggleFullScreen:t,onClose:r},null),this.slots.default?this.slots.default():e.createVNode(g,null,null)]})]}):null}});p.install=function(t){t.component(p.name,p)};var F={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"50%",install(t){t.use(p)}};n.Drawer=p,n.default=F,Object.defineProperty(n,"__esModule",{value:!0}),n[Symbol.toStringTag]="Module"});
@@ -14,7 +14,7 @@ var __spreadValues = (a, b) => {
14
14
  }
15
15
  return a;
16
16
  };
17
- import { defineComponent, inject, withDirectives, createVNode, vShow, ref, reactive, computed, provide, toRefs, Fragment, resolveComponent, resolveDirective, Transition, renderSlot } from "vue";
17
+ import { defineComponent, inject, withDirectives, createVNode, vShow, nextTick, ref, reactive, computed, provide, toRefs, Fragment, resolveComponent, resolveDirective, Transition, renderSlot } from "vue";
18
18
  const editableSelectProps = {
19
19
  appendToBody: {
20
20
  type: Boolean,
@@ -93,6 +93,7 @@ var SelectDropdown = defineComponent({
93
93
  renderDefaultSlots,
94
94
  renderEmptySlots,
95
95
  selectedIndex,
96
+ hoverIndex,
96
97
  loadMore
97
98
  } = select;
98
99
  const {
@@ -105,7 +106,8 @@ var SelectDropdown = defineComponent({
105
106
  } = selectProps;
106
107
  return className("devui-dropdown-item", {
107
108
  disabled: disabledKey ? !!item[disabledKey] : false,
108
- selected: selectedIndex.value === index2
109
+ selected: selectedIndex.value === index2,
110
+ "devui-dropdown-bg": hoverIndex.value === index2
109
111
  });
110
112
  };
111
113
  return withDirectives(createVNode("div", {
@@ -5598,6 +5600,60 @@ var lodash = { exports: {} };
5598
5600
  }
5599
5601
  }).call(commonjsGlobal);
5600
5602
  })(lodash, lodash.exports);
5603
+ function keyboardSelect(dropdownRef, visible, hoverIndex, selectedIndex, filteredOptions, toggleMenu, selectOptionClick) {
5604
+ const updateHoverIndex = (index2) => {
5605
+ hoverIndex.value = index2;
5606
+ };
5607
+ const scrollToActive = (index2) => {
5608
+ const dropdownVal = dropdownRef.value;
5609
+ const li = dropdownVal.children[index2];
5610
+ nextTick(() => {
5611
+ if (li.scrollIntoViewIfNeeded) {
5612
+ li.scrollIntoViewIfNeeded(false);
5613
+ } else {
5614
+ const containerInfo = dropdownVal.getBoundingClientRect();
5615
+ const elementInfo = li.getBoundingClientRect();
5616
+ if (elementInfo.bottom > containerInfo.bottom || elementInfo.top < containerInfo.top) {
5617
+ li.scrollIntoView(false);
5618
+ }
5619
+ }
5620
+ });
5621
+ };
5622
+ const onKeyboardSelect = (e) => {
5623
+ const option = filteredOptions.value[hoverIndex.value];
5624
+ selectOptionClick(e, option);
5625
+ hoverIndex.value = selectedIndex.value;
5626
+ };
5627
+ const handleKeydown = (e) => {
5628
+ const keyCode = e.key || e.code;
5629
+ let index2 = 0;
5630
+ if (!visible.value) {
5631
+ toggleMenu();
5632
+ }
5633
+ if (keyCode === "Backspace") {
5634
+ return;
5635
+ }
5636
+ if (keyCode === "ArrowUp") {
5637
+ index2 = hoverIndex.value - 1;
5638
+ if (index2 < 0) {
5639
+ index2 = filteredOptions.value.length - 1;
5640
+ }
5641
+ } else if (keyCode === "ArrowDown") {
5642
+ index2 = hoverIndex.value + 1;
5643
+ if (index2 > filteredOptions.value.length - 1) {
5644
+ index2 = 0;
5645
+ }
5646
+ }
5647
+ if (keyCode === "Enter") {
5648
+ return onKeyboardSelect(e);
5649
+ }
5650
+ updateHoverIndex(index2);
5651
+ scrollToActive(index2);
5652
+ };
5653
+ return {
5654
+ handleKeydown
5655
+ };
5656
+ }
5601
5657
  var EditableSelect = defineComponent({
5602
5658
  name: "DEditableSelect",
5603
5659
  directives: {
@@ -5647,6 +5703,7 @@ var EditableSelect = defineComponent({
5647
5703
  const visible = ref(false);
5648
5704
  const inputValue = ref("");
5649
5705
  const selectedIndex = ref(0);
5706
+ const hoverIndex = ref(0);
5650
5707
  const query = ref(props.modelValue);
5651
5708
  const position = reactive({
5652
5709
  originX: "left",
@@ -5732,6 +5789,7 @@ var EditableSelect = defineComponent({
5732
5789
  selectedIndex.value = findIndex(item);
5733
5790
  inputValue.value = "";
5734
5791
  ctx2.emit("update:modelValue", item.name);
5792
+ visible.value = false;
5735
5793
  }
5736
5794
  };
5737
5795
  const loadMore = () => {
@@ -5742,12 +5800,16 @@ var EditableSelect = defineComponent({
5742
5800
  props.loadMore();
5743
5801
  }
5744
5802
  };
5803
+ const {
5804
+ handleKeydown
5805
+ } = keyboardSelect(dropdownRef, visible, hoverIndex, selectedIndex, filteredOptions, toggleMenu, selectOptionClick);
5745
5806
  provide("InjectionKey", {
5746
5807
  dropdownRef,
5747
5808
  props: reactive(__spreadValues({}, toRefs(props))),
5748
5809
  visible,
5749
5810
  emptyText,
5750
5811
  selectedIndex,
5812
+ hoverIndex,
5751
5813
  loadMore,
5752
5814
  selectOptionClick,
5753
5815
  renderDefaultSlots,
@@ -5766,9 +5828,11 @@ var EditableSelect = defineComponent({
5766
5828
  "ref": origin
5767
5829
  }, [createVNode("input", {
5768
5830
  "class": inputCls,
5831
+ "disabled": props.disabled,
5769
5832
  "type": "text",
5770
5833
  "onInput": handleInput,
5771
- "value": query.value
5834
+ "value": query.value,
5835
+ "onKeydown": handleKeydown
5772
5836
  }, null), createVNode("span", {
5773
5837
  "class": "devui-form-control-feedback"
5774
5838
  }, [createVNode("span", {