vue-devui 1.6.14 → 1.6.16
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/auto-complete/index.es.js +60 -42
- package/auto-complete/index.umd.js +13 -13
- package/breadcrumb/index.es.js +57 -39
- package/breadcrumb/index.umd.js +1 -1
- package/category-search/index.es.js +93 -44
- package/category-search/index.umd.js +21 -21
- package/checkbox/index.es.js +60 -42
- package/checkbox/index.umd.js +18 -18
- package/code-review/index.es.js +60 -42
- package/code-review/index.umd.js +20 -20
- package/data-grid/index.es.js +60 -42
- package/data-grid/index.umd.js +15 -15
- package/date-picker-pro/index.es.js +60 -42
- package/date-picker-pro/index.umd.js +13 -13
- package/dropdown/index.es.js +57 -39
- package/dropdown/index.umd.js +1 -1
- package/editable-select/index.es.js +66 -43
- package/editable-select/index.umd.js +10 -10
- package/editor-md/index.es.js +69 -44
- package/editor-md/index.umd.js +28 -28
- package/form/index.es.js +60 -42
- package/form/index.umd.js +17 -17
- package/input/index.es.js +59 -41
- package/input/index.umd.js +20 -20
- package/input-number/index.es.js +60 -42
- package/input-number/index.umd.js +19 -19
- package/mention/index.es.js +60 -42
- package/mention/index.umd.js +17 -17
- package/message/index.es.js +13 -13
- package/message/index.umd.js +1 -1
- package/modal/index.es.js +57 -39
- package/modal/index.umd.js +2 -2
- package/overlay/index.es.js +58 -40
- package/overlay/index.umd.js +1 -1
- package/package.json +3 -2
- package/pagination/index.es.js +77 -59
- package/pagination/index.umd.js +18 -18
- package/pagination/style.css +1 -1
- package/popover/index.es.js +60 -42
- package/popover/index.umd.js +15 -15
- package/radio/index.es.js +60 -42
- package/radio/index.umd.js +16 -16
- package/search/index.es.js +60 -42
- package/search/index.umd.js +16 -16
- package/select/index.es.js +77 -59
- package/select/index.umd.js +20 -20
- package/select/style.css +1 -1
- package/splitter/index.es.js +60 -42
- package/splitter/index.umd.js +14 -14
- package/style.css +1 -1
- package/switch/index.es.js +60 -42
- package/switch/index.umd.js +17 -17
- package/table/index.es.js +59 -41
- package/table/index.umd.js +16 -16
- package/textarea/index.es.js +60 -42
- package/textarea/index.umd.js +19 -19
- package/time-picker/index.es.js +59 -41
- package/time-picker/index.umd.js +14 -14
- package/time-select/index.es.js +77 -59
- package/time-select/index.umd.js +18 -18
- package/time-select/style.css +1 -1
- package/tooltip/index.es.js +60 -42
- package/tooltip/index.umd.js +15 -15
- package/tree/index.es.js +59 -41
- package/tree/index.umd.js +14 -14
- package/types/category-search/src/category-search-types.d.ts +5 -0
- package/types/editable-select/src/editable-select-types.d.ts +3 -0
- package/types/overlay/src/flexible-overlay/flexible-overlay-types.d.ts +5 -6
- package/types/overlay/src/flexible-overlay/index.d.ts +9 -0
- package/types/overlay/src/flexible-overlay/use-flexible-overlay.d.ts +11 -2
- package/types/select/src/composables/use-select-content.d.ts +21 -2
- package/types/select/src/select-types.d.ts +7 -44
- package/types/select/src/use-select.d.ts +26 -2
- package/vue-devui.es.js +138 -77
- package/vue-devui.umd.js +74 -74
package/breadcrumb/index.es.js
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadValues = (a, b) => {
|
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
import { toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, createVNode, Transition, mergeProps, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, provide, Teleport, vShow, getCurrentInstance, onBeforeUnmount, resolveComponent } from "vue";
|
|
21
|
-
import { offset,
|
|
21
|
+
import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
|
|
22
22
|
const breadcrumbProps = {
|
|
23
23
|
source: {
|
|
24
24
|
type: Array,
|
|
@@ -390,18 +390,12 @@ const flexibleOverlayProps = {
|
|
|
390
390
|
clickEventBubble: {
|
|
391
391
|
type: Boolean,
|
|
392
392
|
default: false
|
|
393
|
+
},
|
|
394
|
+
fitOriginWidth: {
|
|
395
|
+
type: Boolean,
|
|
396
|
+
default: false
|
|
393
397
|
}
|
|
394
398
|
};
|
|
395
|
-
function getScrollParent(element) {
|
|
396
|
-
const overflowRegex = /(auto|scroll|hidden)/;
|
|
397
|
-
for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
|
|
398
|
-
const style = window.getComputedStyle(parent);
|
|
399
|
-
if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
|
|
400
|
-
return parent;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
return window;
|
|
404
|
-
}
|
|
405
399
|
function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
|
|
406
400
|
let { x, y } = point;
|
|
407
401
|
if (!isArrowCenter) {
|
|
@@ -422,9 +416,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
|
|
|
422
416
|
return { x, y };
|
|
423
417
|
}
|
|
424
418
|
function useOverlay(props, emit) {
|
|
419
|
+
const { fitOriginWidth, position, showArrow } = toRefs(props);
|
|
425
420
|
const overlayRef = ref();
|
|
426
421
|
const arrowRef = ref();
|
|
427
|
-
|
|
422
|
+
const overlayWidth = ref(0);
|
|
423
|
+
let originObserver;
|
|
424
|
+
const styles = computed(() => {
|
|
425
|
+
if (fitOriginWidth.value) {
|
|
426
|
+
return { width: overlayWidth.value + "px" };
|
|
427
|
+
} else {
|
|
428
|
+
return {};
|
|
429
|
+
}
|
|
430
|
+
});
|
|
428
431
|
const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
|
|
429
432
|
const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
|
|
430
433
|
const staticSide = {
|
|
@@ -445,54 +448,67 @@ function useOverlay(props, emit) {
|
|
|
445
448
|
const hostEl = props.origin;
|
|
446
449
|
const overlayEl = unref(overlayRef.value);
|
|
447
450
|
const arrowEl = unref(arrowRef.value);
|
|
448
|
-
const
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
})
|
|
454
|
-
];
|
|
455
|
-
props.showArrow && middleware.push(arrow({ element: arrowEl }));
|
|
456
|
-
props.shiftOffset !== void 0 && middleware.push(shift());
|
|
457
|
-
if (!overlayEl) {
|
|
458
|
-
return;
|
|
451
|
+
const [mainPosition, ...fallbackPosition] = position.value;
|
|
452
|
+
const middleware = [offset(props.offset)];
|
|
453
|
+
middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
|
|
454
|
+
if (showArrow.value) {
|
|
455
|
+
middleware.push(arrow({ element: arrowRef.value }));
|
|
459
456
|
}
|
|
460
457
|
const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
|
|
461
458
|
strategy: "fixed",
|
|
459
|
+
placement: mainPosition,
|
|
462
460
|
middleware
|
|
463
461
|
});
|
|
464
462
|
let applyX = x;
|
|
465
463
|
let applyY = y;
|
|
466
|
-
if (props.shiftOffset !== void 0) {
|
|
467
|
-
const { x: shiftX, y: shiftY } = middlewareData.shift;
|
|
468
|
-
shiftX < 0 && (applyX -= props.shiftOffset);
|
|
469
|
-
shiftX > 0 && (applyX += props.shiftOffset);
|
|
470
|
-
shiftY < 0 && (applyY -= props.shiftOffset);
|
|
471
|
-
shiftY > 0 && (applyY += props.shiftOffset);
|
|
472
|
-
}
|
|
473
464
|
emit("positionChange", placement);
|
|
474
465
|
Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
|
|
475
466
|
props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
|
|
476
467
|
};
|
|
468
|
+
const scrollCallback = (e) => {
|
|
469
|
+
var _a, _b;
|
|
470
|
+
const scrollElement = e.target;
|
|
471
|
+
if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
|
|
472
|
+
updatePosition();
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
const updateWidth = (originEl) => {
|
|
476
|
+
overlayWidth.value = originEl.getBoundingClientRect().width;
|
|
477
|
+
updatePosition();
|
|
478
|
+
};
|
|
479
|
+
const observeOrigin = () => {
|
|
480
|
+
var _a, _b;
|
|
481
|
+
if (fitOriginWidth.value && typeof window !== "undefined") {
|
|
482
|
+
const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
|
|
483
|
+
if (originEl) {
|
|
484
|
+
originObserver = new window.ResizeObserver(() => updateWidth(originEl));
|
|
485
|
+
originObserver.observe(originEl);
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
};
|
|
489
|
+
const unobserveOrigin = () => {
|
|
490
|
+
var _a, _b;
|
|
491
|
+
const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
|
|
492
|
+
originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
|
|
493
|
+
};
|
|
477
494
|
watch(() => props.modelValue, () => {
|
|
478
495
|
if (props.modelValue && props.origin) {
|
|
479
|
-
originParent = getScrollParent(props.origin);
|
|
480
496
|
nextTick(updatePosition);
|
|
481
|
-
|
|
482
|
-
originParent !== window && window.addEventListener("scroll", updatePosition);
|
|
497
|
+
window.addEventListener("scroll", scrollCallback, true);
|
|
483
498
|
window.addEventListener("resize", updatePosition);
|
|
499
|
+
observeOrigin();
|
|
484
500
|
} else {
|
|
485
|
-
|
|
486
|
-
originParent !== window && window.removeEventListener("scroll", updatePosition);
|
|
501
|
+
window.removeEventListener("scroll", scrollCallback, true);
|
|
487
502
|
window.removeEventListener("resize", updatePosition);
|
|
503
|
+
unobserveOrigin();
|
|
488
504
|
}
|
|
489
505
|
});
|
|
490
506
|
onUnmounted(() => {
|
|
491
|
-
|
|
492
|
-
originParent !== window && window.removeEventListener("scroll", updatePosition);
|
|
507
|
+
window.removeEventListener("scroll", scrollCallback, true);
|
|
493
508
|
window.removeEventListener("resize", updatePosition);
|
|
509
|
+
unobserveOrigin();
|
|
494
510
|
});
|
|
495
|
-
return { arrowRef, overlayRef, updatePosition };
|
|
511
|
+
return { arrowRef, overlayRef, styles, updatePosition };
|
|
496
512
|
}
|
|
497
513
|
var flexibleOverlay = "";
|
|
498
514
|
const FlexibleOverlay = defineComponent({
|
|
@@ -513,6 +529,7 @@ const FlexibleOverlay = defineComponent({
|
|
|
513
529
|
const {
|
|
514
530
|
arrowRef,
|
|
515
531
|
overlayRef,
|
|
532
|
+
styles,
|
|
516
533
|
updatePosition
|
|
517
534
|
} = useOverlay(props, emit);
|
|
518
535
|
expose({
|
|
@@ -522,7 +539,8 @@ const FlexibleOverlay = defineComponent({
|
|
|
522
539
|
var _a;
|
|
523
540
|
return props.modelValue && createVNode("div", mergeProps({
|
|
524
541
|
"ref": overlayRef,
|
|
525
|
-
"class": ns2.b()
|
|
542
|
+
"class": ns2.b(),
|
|
543
|
+
"style": styles.value
|
|
526
544
|
}, attrs, {
|
|
527
545
|
"onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
|
|
528
546
|
"onPointerup": withModifiers(() => ({}), ["stop"])
|
package/breadcrumb/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var de=Object.defineProperty,ue=Object.defineProperties;var fe=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var F=(f,e,h)=>e in f?de(f,e,{enumerable:!0,configurable:!0,writable:!0,value:h}):f[e]=h,z=(f,e)=>{for(var h in e||(e={}))me.call(e,h)&&F(f,h,e[h]);if(_)for(var h of _(e))pe.call(e,h)&&F(f,h,e[h]);return f},H=(f,e)=>ue(f,fe(e));(function(f,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],e):(f=typeof globalThis!="undefined"?globalThis:f||self,e(f.index={},f.Vue,f.dom))})(this,function(f,e,h){"use strict";const I={source:{type:Array,default:[]},separatorIcon:{type:String}},R={showMenu:{type:Boolean,default:!1},menuList:{type:Array},isSearch:{type:Boolean,dafault:!1},to:{type:[String,Object],default:""},replace:{type:Boolean,default:!1}};function x(t,n,o){let a=t;return n&&(a+=`__${n}`),o&&(a+=`--${o}`),a}function L(t,n=!1){const o=n?`.devui-${t}`:`devui-${t}`;return{b:()=>x(o),e:c=>c?x(o,c):"",m:c=>c?x(o,"",c):"",em:(c,r)=>c&&r?x(o,c,r):""}}var ge="";const U={visible:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeScope:{type:String,default:"all"},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},shiftOffset:{type:Number},closeOnMouseLeaveMenu:{type:Boolean,default:!1},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""},destroyOnHide:{type:Boolean,default:!0},teleport:{type:[String,Object],default:"body"}},D=Symbol("popper-trigger");function Y(t){return t instanceof Element?t:t&&typeof t=="object"&&t.$el instanceof Element?t.$el:null}const E=new Map;function P(t,n,o){return t==null||t.addEventListener(n,o),()=>{t==null||t.removeEventListener(n,o)}}const q=({id:t,isOpen:n,origin:o,dropdownRef:a,props:l,emit:s})=>{let i=!1,c=!1;const{trigger:r,closeScope:d,closeOnMouseLeaveMenu:y}=e.toRefs(l),m=g=>{n.value=g,s("toggle",n.value)},v=async(g,b)=>{await new Promise(u=>setTimeout(u,50)),!(g==="origin"&&i||g==="dropdown"&&c)&&(b&&[...E.values()].reverse().forEach(u=>{setTimeout(()=>{var p;(p=u.toggle)==null||p.call(u)},0)}),m(!1))};e.watch([r,o,a],([g,b,u],p,O)=>{const V=Y(b),T=[];setTimeout(()=>{T.push(P(document,"click",w=>{w.stopPropagation();const N=[...E.values()];!n.value||d.value==="none"||(u==null?void 0:u.contains(w.target))&&d.value==="blank"||N.some(k=>{var C;return(C=k.toggleEl)==null?void 0:C.contains(w.target)})&&N.some(k=>{var C;return(C=k.menuEl)==null?void 0:C.contains(w.target)})||([...E.values()].reverse().forEach(k=>{setTimeout(()=>{var C,A;((C=k.toggleEl)==null?void 0:C.contains(w.target))||(A=k.toggle)==null||A.call(k)},0)}),i=!1)}))},0),g==="click"?T.push(P(V,"click",()=>m(!n.value)),P(u,"mouseleave",w=>{var N;y.value&&!((N=E.get(t).child)==null?void 0:N.contains(w.relatedTarget))&&v("dropdown",!0)})):g==="hover"&&T.push(P(V,"mouseenter",()=>{c=!0,m(!0)}),P(V,"mouseleave",()=>{c=!1,v("origin")}),P(u,"mouseenter",()=>{i=!0,n.value=!0}),P(u,"mouseleave",w=>{var N;i=!1,!(w.relatedTarget&&((V==null?void 0:V.contains(w.relatedTarget))||((N=E.get(t).child)==null?void 0:N.contains(w.relatedTarget))))&&v("dropdown",!0)})),O(()=>T.forEach(w=>w()))})};function X(t,n,o,a,l,s){e.watch(n,(i,c)=>{c!==void 0&&(o.value=i,s("toggle",o.value))},{immediate:!0}),e.watch([o,l],([i,c])=>{var r;if(i){E.set(t,H(z({},E.get(t)),{menuEl:c,toggle:()=>{o.value=!1,s("toggle",o.value)}}));for(const d of E.values())((r=d.menuEl)==null?void 0:r.contains(a.value))&&(d.child=c)}}),e.onMounted(()=>{E.set(t,{toggleEl:a.value})}),e.onUnmounted(()=>{E.delete(t)})}function G(t,n,o){const{showAnimation:a,overlayClass:l,destroyOnHide:s}=e.toRefs(t),i=e.ref(!1),c=e.ref(!1),r=e.computed(()=>({transformOrigin:n.value==="top"?"0% 100%":"0% 0%",zIndex:"var(--devui-z-index-dropdown, 1052)"})),d=e.computed(()=>({"fade-in-bottom":a.value&&o.value&&n.value==="bottom","fade-in-top":a.value&&o.value&&n.value==="top",[`${l.value}`]:!0})),y=m=>{n.value=m.includes("top")||m.includes("right-end")||m.includes("left-end")?"top":"bottom"};return e.watch(o,m=>{i.value=s.value?m:!0,c.value=m}),{overlayModelValue:i,overlayShowValue:c,styles:r,classes:d,handlePositionChange:y}}const K={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function J(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const t=document.documentElement.scrollTop,n=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${t}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{n?document.documentElement.setAttribute("style",n):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=t}}}function Q(t,n){let o;const a=s=>{s.preventDefault(),n.emit("click",s),t.closeOnClickOverlay&&n.emit("update:modelValue",!1)},l=()=>{o==null||o()};return e.watch(()=>t.modelValue,s=>{s?t.lockScroll&&(o=J()):l()}),e.onUnmounted(l),{onClick:a}}var ye="";e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:K,emits:["update:modelValue","click"],setup(t,n){const{modelValue:o}=e.toRefs(t),a=L("fixed-overlay"),{onClick:l}=Q(t,n);return()=>e.createVNode(e.Transition,{name:a.m("fade")},{default:()=>{var s,i;return[o.value&&e.createVNode("div",e.mergeProps({class:a.b()},n.attrs,{onClick:l}),[(i=(s=n.slots).default)==null?void 0:i.call(s)])]}})}});const W={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},shiftOffset:{type:Number},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0},clickEventBubble:{type:Boolean,default:!1}};function Z(t){const n=/(auto|scroll|hidden)/;for(let o=t;o=o.parentElement;o.parentElement!==document.body){const a=window.getComputedStyle(o);if(n.test(a.overflow+a.overflowX+a.overflowY))return o}return window}function ee(t,n,o,a){let{x:l,y:s}=n;if(!t){const{width:i,height:c}=a;l&&o.includes("start")&&(l=12),l&&o.includes("end")&&(l=Math.round(i-24)),s&&o.includes("start")&&(s=10),s&&o.includes("end")&&(s=c-14)}return{x:l,y:s}}function te(t,n){const o=e.ref(),a=e.ref();let l=null;const s=(c,r,d,y)=>{const{x:m,y:v}=ee(t.isArrowCenter,d,r,y.getBoundingClientRect()),g={top:"bottom",right:"left",bottom:"top",left:"right"}[r.split("-")[0]];Object.assign(c.style,{left:m?`${m}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[g]:"-4px"})},i=async()=>{const c=t.origin,r=e.unref(o.value),d=e.unref(a.value),y=[h.offset(t.offset),h.autoPlacement({alignment:t.align,allowedPlacements:t.position})];if(t.showArrow&&y.push(h.arrow({element:d})),t.shiftOffset!==void 0&&y.push(h.shift()),!r)return;const{x:m,y:v,placement:g,middlewareData:b}=await h.computePosition(c,r,{strategy:"fixed",middleware:y});let u=m,p=v;if(t.shiftOffset!==void 0){const{x:O,y:V}=b.shift;O<0&&(u-=t.shiftOffset),O>0&&(u+=t.shiftOffset),V<0&&(p-=t.shiftOffset),V>0&&(p+=t.shiftOffset)}n("positionChange",g),Object.assign(r.style,{top:`${p}px`,left:`${u}px`}),t.showArrow&&s(d,g,b.arrow,r)};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(l=Z(t.origin),e.nextTick(i),l==null||l.addEventListener("scroll",i),l!==window&&window.addEventListener("scroll",i),window.addEventListener("resize",i)):(l==null||l.removeEventListener("scroll",i),l!==window&&window.removeEventListener("scroll",i),window.removeEventListener("resize",i))}),e.onUnmounted(()=>{l==null||l.removeEventListener("scroll",i),l!==window&&window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}),{arrowRef:a,overlayRef:o,updatePosition:i}}var he="";const ne=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:W,emits:["update:modelValue","positionChange"],setup(t,{slots:n,attrs:o,emit:a,expose:l}){const s=L("flexible-overlay"),{clickEventBubble:i}=e.toRefs(t),{arrowRef:c,overlayRef:r,updatePosition:d}=te(t,a);return l({updatePosition:d}),()=>{var y;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:r,class:s.b()},o,{onClick:e.withModifiers(()=>({}),[i.value?"":"stop"]),onPointerup:e.withModifiers(()=>({}),["stop"])}),[(y=n.default)==null?void 0:y.call(n),t.showArrow&&e.createVNode("div",{ref:c,class:s.e("arrow")},null)])}}}),oe=t=>t!==null&&typeof t=="object",re=L("popper-trigger");function $(t){return e.h("span",{class:re.b()},t)}function j(t){for(const n of t){if(oe(n)){if(n.type===e.Comment)continue;return n.type==="svg"||n.type===e.Text?$(n):n.type===e.Fragment?j(n.children):n}return $(n)}return null}var ae=e.defineComponent({name:"DPopperTrigger",setup(t,n){const{slots:o,attrs:a}=n;return()=>{var c;const l=(c=o.default)==null?void 0:c.call(o,a),s=e.inject(D);if(!l)return null;const i=j(l);return i?e.withDirectives(e.cloneVNode(i,a),[[{mounted(r){s.value=r},updated(r){s.value=r},unmounted(){s.value=null}}]]):null}}}),we="";let le=1;var ie=e.defineComponent({name:"DDropdown",inheritAttrs:!1,props:U,emits:["toggle"],setup(t,{slots:n,attrs:o,emit:a,expose:l}){const{visible:s,position:i,align:c,offset:r,destroyOnHide:d,shiftOffset:y,showAnimation:m,teleport:v}=e.toRefs(t),g=e.ref(),b=e.ref(),u=e.ref(),p=`dropdown_${le++}`,O=e.ref(!1),V=e.ref("bottom"),T=L("dropdown");e.provide(D,g),q({id:p,isOpen:O,origin:g,dropdownRef:b,props:t,emit:a}),X(p,s,O,g,b,a);const{overlayModelValue:w,overlayShowValue:N,styles:k,classes:C,handlePositionChange:A}=G(t,V,O);return e.watch(N,B=>{e.nextTick(()=>{!d.value&&B&&u.value.updatePosition()})}),l({updatePosition:()=>u.value.updatePosition()}),()=>e.createVNode(e.Fragment,null,[e.createVNode(ae,null,{default:()=>{var B;return[(B=n.default)==null?void 0:B.call(n)]}}),e.createVNode(e.Teleport,{to:v.value},{default:()=>[e.createVNode(e.Transition,{name:m.value?T.m(`fade-${V.value}`):""},{default:()=>[e.withDirectives(e.createVNode(ne,{modelValue:w.value,"onUpdate:modelValue":B=>w.value=B,ref:u,origin:g.value,position:i.value,align:c.value,offset:r.value,shiftOffset:y==null?void 0:y.value,onPositionChange:A,"click-event-bubble":!0,class:C.value,style:k.value},{default:()=>{var B;return[e.createVNode("div",e.mergeProps({ref:b,class:T.e("menu-wrap")},o),[(B=n.menu)==null?void 0:B.call(n)])]}}),[[e.vShow,N.value]])]})]})])}}),S=e.defineComponent({name:"DBreadcrumbItem",components:{DDropdown:ie},props:R,setup(t,{slots:n}){var b;const o=e.inject("separatorIcon"),a=L("breadcrumb"),l=t.to?"is-link":"",s=t.showMenu&&((b=t.menuList)==null?void 0:b.length)?a.e("dropdown-title"):"",i=e.ref(null),c=e.getCurrentInstance(),r=c==null?void 0:c.appContext.config.globalProperties.$router,d=e.ref(t.showMenu),y=e.ref(t.menuList||[]),m=()=>{!t.to||!r||(t.replace?r.replace(t.to):r.push(t.to))};e.onMounted(()=>{var u;(u=i.value)==null||u.addEventListener("click",m)}),e.onBeforeUnmount(()=>{var u;(u=i.value)==null||u.removeEventListener("click",m)});const v=()=>e.createVNode("span",{class:a.e("separator")},[o]),g=()=>{var u;return d.value?e.createVNode("div",{class:a.e("item")},[e.createVNode(e.resolveComponent("d-dropdown"),{trigger:"hover","close-scope":"blank"},{default:()=>{var p;return[e.createVNode("span",{class:[l,s]},[(p=n==null?void 0:n.default)==null?void 0:p.call(n),e.createVNode("span",{class:"icon icon-chevron-down"},null)])]},menu:()=>e.createVNode("ul",{class:a.e("item-dropdown")},[y.value.map(p=>p.link?e.createVNode("a",{href:p.link,target:p.target?p.target:"_self"},[e.createVNode("li",{class:a.e("item-dropdown-item")},[p.title])]):e.createVNode("li",{class:a.e("item-dropdown-item")},[e.createVNode("span",{class:l},[p.title])]))])})]):e.createVNode("div",{class:a.e("item")},[e.createVNode("span",{ref:i,class:l},[(u=n==null?void 0:n.default)==null?void 0:u.call(n)]),v()])};return()=>g()}});function ce(t,n,o="default"){var a,l;return(l=n[o])!=null?l:(a=t[o])==null?void 0:a.call(t)}var be="",M=e.defineComponent({name:"DBreadcrumb",components:{DBreadcrumbItem:S},props:I,setup(t,{slots:n}){var c;const o=(c=ce(n,t,"separatorIcon"))!=null?c:"/";e.provide("separatorIcon",o);const a=L("breadcrumb"),l=r=>e.createVNode(e.resolveComponent("d-breadcrumb-item"),{to:`path: ${r.link}`,replace:r.replace},{default:()=>[r.title]}),s=r=>e.createVNode(e.resolveComponent("d-breadcrumb-item"),{menuList:r.children,showMenu:r.showMenu,to:`path: ${r.link}`,replace:r.replace},{default:()=>[!r.noNavigation&&(!r.linkType||r.linkType==="hrefLink")?e.createVNode("a",{href:r.link,target:r.target?r.target:"_self"},[r.title]):null,r.noNavigation?e.createVNode("span",null,[r.title]):null]}),i=r=>r.map(d=>!d.noNavigation&&d.linkType==="routerLink"?l(d):d.children&&d.children.length>0?s(d):e.createVNode(e.resolveComponent("d-breadcrumb-item"),null,{default:()=>[!d.noNavigation&&(!d.linkType||d.linkType==="hrefLink")?e.createVNode("a",{href:d.link,target:d.target?d.target:"_self"},[d.title]):null,d.noNavigation?e.createVNode("span",null,[d.title]):null]}));return()=>{var r;return e.createVNode("div",{class:a.b()},[t.source&&t.source.length?i(t.source):(r=n==null?void 0:n.default)==null?void 0:r.call(n)])}}}),se={title:"Breadcrumb \u9762\u5305\u5C51",category:"\u5BFC\u822A",status:"100%",install(t){t.component(M.name,M),t.component(S.name,S)}};f.Breadcrumb=M,f.BreadcrumbItem=S,f.breadcrumbItemProps=R,f.breadcrumbProps=I,f.default=se,Object.defineProperty(f,"__esModule",{value:!0}),f[Symbol.toStringTag]="Module"});
|
|
1
|
+
var de=Object.defineProperty,fe=Object.defineProperties;var me=Object.getOwnPropertyDescriptors;var _=Object.getOwnPropertySymbols;var pe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable;var F=(p,e,w)=>e in p?de(p,e,{enumerable:!0,configurable:!0,writable:!0,value:w}):p[e]=w,z=(p,e)=>{for(var w in e||(e={}))pe.call(e,w)&&F(p,w,e[w]);if(_)for(var w of _(e))ge.call(e,w)&&F(p,w,e[w]);return p},H=(p,e)=>fe(p,me(e));(function(p,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],e):(p=typeof globalThis!="undefined"?globalThis:p||self,e(p.index={},p.Vue,p.dom))})(this,function(p,e,w){"use strict";const I={source:{type:Array,default:[]},separatorIcon:{type:String}},R={showMenu:{type:Boolean,default:!1},menuList:{type:Array},isSearch:{type:Boolean,dafault:!1},to:{type:[String,Object],default:""},replace:{type:Boolean,default:!1}};function L(t,n,o){let a=t;return n&&(a+=`__${n}`),o&&(a+=`--${o}`),a}function A(t,n=!1){const o=n?`.devui-${t}`:`devui-${t}`;return{b:()=>L(o),e:l=>l?L(o,l):"",m:l=>l?L(o,"",l):"",em:(l,r)=>l&&r?L(o,l,r):""}}var ye="";const U={visible:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeScope:{type:String,default:"all"},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},shiftOffset:{type:Number},closeOnMouseLeaveMenu:{type:Boolean,default:!1},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""},destroyOnHide:{type:Boolean,default:!0},teleport:{type:[String,Object],default:"body"}},$=Symbol("popper-trigger");function W(t){return t instanceof Element?t:t&&typeof t=="object"&&t.$el instanceof Element?t.$el:null}const T=new Map;function O(t,n,o){return t==null||t.addEventListener(n,o),()=>{t==null||t.removeEventListener(n,o)}}const q=({id:t,isOpen:n,origin:o,dropdownRef:a,props:c,emit:i})=>{let s=!1,l=!1;const{trigger:r,closeScope:u,closeOnMouseLeaveMenu:N}=e.toRefs(c),m=v=>{n.value=v,i("toggle",n.value)},B=async(v,C)=>{await new Promise(f=>setTimeout(f,50)),!(v==="origin"&&s||v==="dropdown"&&l)&&(C&&[...T.values()].reverse().forEach(f=>{setTimeout(()=>{var d;(d=f.toggle)==null||d.call(f)},0)}),m(!1))};e.watch([r,o,a],([v,C,f],d,y)=>{const g=W(C),V=[];setTimeout(()=>{V.push(O(document,"click",h=>{h.stopPropagation();const b=[...T.values()];!n.value||u.value==="none"||(f==null?void 0:f.contains(h.target))&&u.value==="blank"||b.some(k=>{var E;return(E=k.toggleEl)==null?void 0:E.contains(h.target)})&&b.some(k=>{var E;return(E=k.menuEl)==null?void 0:E.contains(h.target)})||([...T.values()].reverse().forEach(k=>{setTimeout(()=>{var E,x;((E=k.toggleEl)==null?void 0:E.contains(h.target))||(x=k.toggle)==null||x.call(k)},0)}),s=!1)}))},0),v==="click"?V.push(O(g,"click",()=>m(!n.value)),O(f,"mouseleave",h=>{var b;N.value&&!((b=T.get(t).child)==null?void 0:b.contains(h.relatedTarget))&&B("dropdown",!0)})):v==="hover"&&V.push(O(g,"mouseenter",()=>{l=!0,m(!0)}),O(g,"mouseleave",()=>{l=!1,B("origin")}),O(f,"mouseenter",()=>{s=!0,n.value=!0}),O(f,"mouseleave",h=>{var b;s=!1,!(h.relatedTarget&&((g==null?void 0:g.contains(h.relatedTarget))||((b=T.get(t).child)==null?void 0:b.contains(h.relatedTarget))))&&B("dropdown",!0)})),y(()=>V.forEach(h=>h()))})};function G(t,n,o,a,c,i){e.watch(n,(s,l)=>{l!==void 0&&(o.value=s,i("toggle",o.value))},{immediate:!0}),e.watch([o,c],([s,l])=>{var r;if(s){T.set(t,H(z({},T.get(t)),{menuEl:l,toggle:()=>{o.value=!1,i("toggle",o.value)}}));for(const u of T.values())((r=u.menuEl)==null?void 0:r.contains(a.value))&&(u.child=l)}}),e.onMounted(()=>{T.set(t,{toggleEl:a.value})}),e.onUnmounted(()=>{T.delete(t)})}function Y(t,n,o){const{showAnimation:a,overlayClass:c,destroyOnHide:i}=e.toRefs(t),s=e.ref(!1),l=e.ref(!1),r=e.computed(()=>({transformOrigin:n.value==="top"?"0% 100%":"0% 0%",zIndex:"var(--devui-z-index-dropdown, 1052)"})),u=e.computed(()=>({"fade-in-bottom":a.value&&o.value&&n.value==="bottom","fade-in-top":a.value&&o.value&&n.value==="top",[`${c.value}`]:!0})),N=m=>{n.value=m.includes("top")||m.includes("right-end")||m.includes("left-end")?"top":"bottom"};return e.watch(o,m=>{s.value=i.value?m:!0,l.value=m}),{overlayModelValue:s,overlayShowValue:l,styles:r,classes:u,handlePositionChange:N}}const K={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function X(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const t=document.documentElement.scrollTop,n=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${t}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{n?document.documentElement.setAttribute("style",n):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=t}}}function J(t,n){let o;const a=i=>{i.preventDefault(),n.emit("click",i),t.closeOnClickOverlay&&n.emit("update:modelValue",!1)},c=()=>{o==null||o()};return e.watch(()=>t.modelValue,i=>{i?t.lockScroll&&(o=X()):c()}),e.onUnmounted(c),{onClick:a}}var he="";e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:K,emits:["update:modelValue","click"],setup(t,n){const{modelValue:o}=e.toRefs(t),a=A("fixed-overlay"),{onClick:c}=J(t,n);return()=>e.createVNode(e.Transition,{name:a.m("fade")},{default:()=>{var i,s;return[o.value&&e.createVNode("div",e.mergeProps({class:a.b()},n.attrs,{onClick:c}),[(s=(i=n.slots).default)==null?void 0:s.call(i)])]}})}});const Q={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},shiftOffset:{type:Number},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0},clickEventBubble:{type:Boolean,default:!1},fitOriginWidth:{type:Boolean,default:!1}};function Z(t,n,o,a){let{x:c,y:i}=n;if(!t){const{width:s,height:l}=a;c&&o.includes("start")&&(c=12),c&&o.includes("end")&&(c=Math.round(s-24)),i&&o.includes("start")&&(i=10),i&&o.includes("end")&&(i=l-14)}return{x:c,y:i}}function ee(t,n){const{fitOriginWidth:o,position:a,showArrow:c}=e.toRefs(t),i=e.ref(),s=e.ref(),l=e.ref(0);let r;const u=e.computed(()=>o.value?{width:l.value+"px"}:{}),N=(d,y,g,V)=>{const{x:h,y:b}=Z(t.isArrowCenter,g,y,V.getBoundingClientRect()),k={top:"bottom",right:"left",bottom:"top",left:"right"}[y.split("-")[0]];Object.assign(d.style,{left:h?`${h}px`:"",top:b?`${b}px`:"",right:"",bottom:"",[k]:"-4px"})},m=async()=>{const d=t.origin,y=e.unref(i.value),g=e.unref(s.value),[V,...h]=a.value,b=[w.offset(t.offset)];b.push(h.length?w.flip({fallbackPlacements:h}):w.flip()),c.value&&b.push(w.arrow({element:s.value}));const{x:k,y:E,placement:x,middlewareData:P}=await w.computePosition(d,y,{strategy:"fixed",placement:V,middleware:b});let se=k,ue=E;n("positionChange",x),Object.assign(y.style,{top:`${ue}px`,left:`${se}px`}),t.showArrow&&N(g,x,P.arrow,y)},B=d=>{var g,V;const y=d.target;(y==null?void 0:y.contains((V=(g=t.origin)==null?void 0:g.$el)!=null?V:t.origin))&&m()},v=d=>{l.value=d.getBoundingClientRect().width,m()},C=()=>{var d,y;if(o.value&&typeof window!="undefined"){const g=(y=(d=t.origin)==null?void 0:d.$el)!=null?y:t.origin;g&&(r=new window.ResizeObserver(()=>v(g)),r.observe(g))}},f=()=>{var y,g;const d=(g=(y=t.origin)==null?void 0:y.$el)!=null?g:t.origin;d&&(r==null||r.unobserve(d))};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(e.nextTick(m),window.addEventListener("scroll",B,!0),window.addEventListener("resize",m),C()):(window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",m),f())}),e.onUnmounted(()=>{window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",m),f()}),{arrowRef:s,overlayRef:i,styles:u,updatePosition:m}}var be="";const te=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:Q,emits:["update:modelValue","positionChange"],setup(t,{slots:n,attrs:o,emit:a,expose:c}){const i=A("flexible-overlay"),{clickEventBubble:s}=e.toRefs(t),{arrowRef:l,overlayRef:r,styles:u,updatePosition:N}=ee(t,a);return c({updatePosition:N}),()=>{var m;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:r,class:i.b(),style:u.value},o,{onClick:e.withModifiers(()=>({}),[s.value?"":"stop"]),onPointerup:e.withModifiers(()=>({}),["stop"])}),[(m=n.default)==null?void 0:m.call(n),t.showArrow&&e.createVNode("div",{ref:l,class:i.e("arrow")},null)])}}}),ne=t=>t!==null&&typeof t=="object",oe=A("popper-trigger");function D(t){return e.h("span",{class:oe.b()},t)}function j(t){for(const n of t){if(ne(n)){if(n.type===e.Comment)continue;return n.type==="svg"||n.type===e.Text?D(n):n.type===e.Fragment?j(n.children):n}return D(n)}return null}var re=e.defineComponent({name:"DPopperTrigger",setup(t,n){const{slots:o,attrs:a}=n;return()=>{var l;const c=(l=o.default)==null?void 0:l.call(o,a),i=e.inject($);if(!c)return null;const s=j(c);return s?e.withDirectives(e.cloneVNode(s,a),[[{mounted(r){i.value=r},updated(r){i.value=r},unmounted(){i.value=null}}]]):null}}}),we="";let ae=1;var le=e.defineComponent({name:"DDropdown",inheritAttrs:!1,props:U,emits:["toggle"],setup(t,{slots:n,attrs:o,emit:a,expose:c}){const{visible:i,position:s,align:l,offset:r,destroyOnHide:u,shiftOffset:N,showAnimation:m,teleport:B}=e.toRefs(t),v=e.ref(),C=e.ref(),f=e.ref(),d=`dropdown_${ae++}`,y=e.ref(!1),g=e.ref("bottom"),V=A("dropdown");e.provide($,v),q({id:d,isOpen:y,origin:v,dropdownRef:C,props:t,emit:a}),G(d,i,y,v,C,a);const{overlayModelValue:h,overlayShowValue:b,styles:k,classes:E,handlePositionChange:x}=Y(t,g,y);return e.watch(b,P=>{e.nextTick(()=>{!u.value&&P&&f.value.updatePosition()})}),c({updatePosition:()=>f.value.updatePosition()}),()=>e.createVNode(e.Fragment,null,[e.createVNode(re,null,{default:()=>{var P;return[(P=n.default)==null?void 0:P.call(n)]}}),e.createVNode(e.Teleport,{to:B.value},{default:()=>[e.createVNode(e.Transition,{name:m.value?V.m(`fade-${g.value}`):""},{default:()=>[e.withDirectives(e.createVNode(te,{modelValue:h.value,"onUpdate:modelValue":P=>h.value=P,ref:f,origin:v.value,position:s.value,align:l.value,offset:r.value,shiftOffset:N==null?void 0:N.value,onPositionChange:x,"click-event-bubble":!0,class:E.value,style:k.value},{default:()=>{var P;return[e.createVNode("div",e.mergeProps({ref:C,class:V.e("menu-wrap")},o),[(P=n.menu)==null?void 0:P.call(n)])]}}),[[e.vShow,b.value]])]})]})])}}),S=e.defineComponent({name:"DBreadcrumbItem",components:{DDropdown:le},props:R,setup(t,{slots:n}){var C;const o=e.inject("separatorIcon"),a=A("breadcrumb"),c=t.to?"is-link":"",i=t.showMenu&&((C=t.menuList)==null?void 0:C.length)?a.e("dropdown-title"):"",s=e.ref(null),l=e.getCurrentInstance(),r=l==null?void 0:l.appContext.config.globalProperties.$router,u=e.ref(t.showMenu),N=e.ref(t.menuList||[]),m=()=>{!t.to||!r||(t.replace?r.replace(t.to):r.push(t.to))};e.onMounted(()=>{var f;(f=s.value)==null||f.addEventListener("click",m)}),e.onBeforeUnmount(()=>{var f;(f=s.value)==null||f.removeEventListener("click",m)});const B=()=>e.createVNode("span",{class:a.e("separator")},[o]),v=()=>{var f;return u.value?e.createVNode("div",{class:a.e("item")},[e.createVNode(e.resolveComponent("d-dropdown"),{trigger:"hover","close-scope":"blank"},{default:()=>{var d;return[e.createVNode("span",{class:[c,i]},[(d=n==null?void 0:n.default)==null?void 0:d.call(n),e.createVNode("span",{class:"icon icon-chevron-down"},null)])]},menu:()=>e.createVNode("ul",{class:a.e("item-dropdown")},[N.value.map(d=>d.link?e.createVNode("a",{href:d.link,target:d.target?d.target:"_self"},[e.createVNode("li",{class:a.e("item-dropdown-item")},[d.title])]):e.createVNode("li",{class:a.e("item-dropdown-item")},[e.createVNode("span",{class:c},[d.title])]))])})]):e.createVNode("div",{class:a.e("item")},[e.createVNode("span",{ref:s,class:c},[(f=n==null?void 0:n.default)==null?void 0:f.call(n)]),B()])};return()=>v()}});function ie(t,n,o="default"){var a,c;return(c=n[o])!=null?c:(a=t[o])==null?void 0:a.call(t)}var ve="",M=e.defineComponent({name:"DBreadcrumb",components:{DBreadcrumbItem:S},props:I,setup(t,{slots:n}){var l;const o=(l=ie(n,t,"separatorIcon"))!=null?l:"/";e.provide("separatorIcon",o);const a=A("breadcrumb"),c=r=>e.createVNode(e.resolveComponent("d-breadcrumb-item"),{to:`path: ${r.link}`,replace:r.replace},{default:()=>[r.title]}),i=r=>e.createVNode(e.resolveComponent("d-breadcrumb-item"),{menuList:r.children,showMenu:r.showMenu,to:`path: ${r.link}`,replace:r.replace},{default:()=>[!r.noNavigation&&(!r.linkType||r.linkType==="hrefLink")?e.createVNode("a",{href:r.link,target:r.target?r.target:"_self"},[r.title]):null,r.noNavigation?e.createVNode("span",null,[r.title]):null]}),s=r=>r.map(u=>!u.noNavigation&&u.linkType==="routerLink"?c(u):u.children&&u.children.length>0?i(u):e.createVNode(e.resolveComponent("d-breadcrumb-item"),null,{default:()=>[!u.noNavigation&&(!u.linkType||u.linkType==="hrefLink")?e.createVNode("a",{href:u.link,target:u.target?u.target:"_self"},[u.title]):null,u.noNavigation?e.createVNode("span",null,[u.title]):null]}));return()=>{var r;return e.createVNode("div",{class:a.b()},[t.source&&t.source.length?s(t.source):(r=n==null?void 0:n.default)==null?void 0:r.call(n)])}}}),ce={title:"Breadcrumb \u9762\u5305\u5C51",category:"\u5BFC\u822A",status:"100%",install(t){t.component(M.name,M),t.component(S.name,S)}};p.Breadcrumb=M,p.BreadcrumbItem=S,p.breadcrumbItemProps=R,p.breadcrumbProps=I,p.default=ce,Object.defineProperty(p,"__esModule",{value:!0}),p[Symbol.toStringTag]="Module"});
|
|
@@ -34,7 +34,7 @@ var __publicField = (obj, key, value) => {
|
|
|
34
34
|
return value;
|
|
35
35
|
};
|
|
36
36
|
import { createVNode, createTextVNode, toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, Transition, mergeProps, unref, nextTick, withModifiers, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, provide, Teleport, vShow, resolveComponent, reactive, onBeforeUnmount, toRef, resolveDynamicComponent, render, isVNode } from "vue";
|
|
37
|
-
import { offset,
|
|
37
|
+
import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
|
|
38
38
|
import { onClickOutside } from "@vueuse/core";
|
|
39
39
|
import "clipboard";
|
|
40
40
|
function SearchIcon() {
|
|
@@ -454,18 +454,12 @@ const flexibleOverlayProps = {
|
|
|
454
454
|
clickEventBubble: {
|
|
455
455
|
type: Boolean,
|
|
456
456
|
default: false
|
|
457
|
+
},
|
|
458
|
+
fitOriginWidth: {
|
|
459
|
+
type: Boolean,
|
|
460
|
+
default: false
|
|
457
461
|
}
|
|
458
462
|
};
|
|
459
|
-
function getScrollParent(element) {
|
|
460
|
-
const overflowRegex = /(auto|scroll|hidden)/;
|
|
461
|
-
for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
|
|
462
|
-
const style = window.getComputedStyle(parent);
|
|
463
|
-
if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
|
|
464
|
-
return parent;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
return window;
|
|
468
|
-
}
|
|
469
463
|
function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
|
|
470
464
|
let { x, y } = point;
|
|
471
465
|
if (!isArrowCenter) {
|
|
@@ -486,9 +480,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
|
|
|
486
480
|
return { x, y };
|
|
487
481
|
}
|
|
488
482
|
function useOverlay(props, emit) {
|
|
483
|
+
const { fitOriginWidth, position, showArrow } = toRefs(props);
|
|
489
484
|
const overlayRef = ref();
|
|
490
485
|
const arrowRef = ref();
|
|
491
|
-
|
|
486
|
+
const overlayWidth = ref(0);
|
|
487
|
+
let originObserver;
|
|
488
|
+
const styles = computed(() => {
|
|
489
|
+
if (fitOriginWidth.value) {
|
|
490
|
+
return { width: overlayWidth.value + "px" };
|
|
491
|
+
} else {
|
|
492
|
+
return {};
|
|
493
|
+
}
|
|
494
|
+
});
|
|
492
495
|
const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
|
|
493
496
|
const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
|
|
494
497
|
const staticSide = {
|
|
@@ -509,54 +512,67 @@ function useOverlay(props, emit) {
|
|
|
509
512
|
const hostEl = props.origin;
|
|
510
513
|
const overlayEl = unref(overlayRef.value);
|
|
511
514
|
const arrowEl = unref(arrowRef.value);
|
|
512
|
-
const
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
})
|
|
518
|
-
];
|
|
519
|
-
props.showArrow && middleware.push(arrow({ element: arrowEl }));
|
|
520
|
-
props.shiftOffset !== void 0 && middleware.push(shift());
|
|
521
|
-
if (!overlayEl) {
|
|
522
|
-
return;
|
|
515
|
+
const [mainPosition, ...fallbackPosition] = position.value;
|
|
516
|
+
const middleware = [offset(props.offset)];
|
|
517
|
+
middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
|
|
518
|
+
if (showArrow.value) {
|
|
519
|
+
middleware.push(arrow({ element: arrowRef.value }));
|
|
523
520
|
}
|
|
524
521
|
const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
|
|
525
522
|
strategy: "fixed",
|
|
523
|
+
placement: mainPosition,
|
|
526
524
|
middleware
|
|
527
525
|
});
|
|
528
526
|
let applyX = x;
|
|
529
527
|
let applyY = y;
|
|
530
|
-
if (props.shiftOffset !== void 0) {
|
|
531
|
-
const { x: shiftX, y: shiftY } = middlewareData.shift;
|
|
532
|
-
shiftX < 0 && (applyX -= props.shiftOffset);
|
|
533
|
-
shiftX > 0 && (applyX += props.shiftOffset);
|
|
534
|
-
shiftY < 0 && (applyY -= props.shiftOffset);
|
|
535
|
-
shiftY > 0 && (applyY += props.shiftOffset);
|
|
536
|
-
}
|
|
537
528
|
emit("positionChange", placement);
|
|
538
529
|
Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
|
|
539
530
|
props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
|
|
540
531
|
};
|
|
532
|
+
const scrollCallback = (e) => {
|
|
533
|
+
var _a, _b;
|
|
534
|
+
const scrollElement = e.target;
|
|
535
|
+
if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
|
|
536
|
+
updatePosition();
|
|
537
|
+
}
|
|
538
|
+
};
|
|
539
|
+
const updateWidth = (originEl) => {
|
|
540
|
+
overlayWidth.value = originEl.getBoundingClientRect().width;
|
|
541
|
+
updatePosition();
|
|
542
|
+
};
|
|
543
|
+
const observeOrigin = () => {
|
|
544
|
+
var _a, _b;
|
|
545
|
+
if (fitOriginWidth.value && typeof window !== "undefined") {
|
|
546
|
+
const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
|
|
547
|
+
if (originEl) {
|
|
548
|
+
originObserver = new window.ResizeObserver(() => updateWidth(originEl));
|
|
549
|
+
originObserver.observe(originEl);
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
};
|
|
553
|
+
const unobserveOrigin = () => {
|
|
554
|
+
var _a, _b;
|
|
555
|
+
const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
|
|
556
|
+
originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
|
|
557
|
+
};
|
|
541
558
|
watch(() => props.modelValue, () => {
|
|
542
559
|
if (props.modelValue && props.origin) {
|
|
543
|
-
originParent = getScrollParent(props.origin);
|
|
544
560
|
nextTick(updatePosition);
|
|
545
|
-
|
|
546
|
-
originParent !== window && window.addEventListener("scroll", updatePosition);
|
|
561
|
+
window.addEventListener("scroll", scrollCallback, true);
|
|
547
562
|
window.addEventListener("resize", updatePosition);
|
|
563
|
+
observeOrigin();
|
|
548
564
|
} else {
|
|
549
|
-
|
|
550
|
-
originParent !== window && window.removeEventListener("scroll", updatePosition);
|
|
565
|
+
window.removeEventListener("scroll", scrollCallback, true);
|
|
551
566
|
window.removeEventListener("resize", updatePosition);
|
|
567
|
+
unobserveOrigin();
|
|
552
568
|
}
|
|
553
569
|
});
|
|
554
570
|
onUnmounted(() => {
|
|
555
|
-
|
|
556
|
-
originParent !== window && window.removeEventListener("scroll", updatePosition);
|
|
571
|
+
window.removeEventListener("scroll", scrollCallback, true);
|
|
557
572
|
window.removeEventListener("resize", updatePosition);
|
|
573
|
+
unobserveOrigin();
|
|
558
574
|
});
|
|
559
|
-
return { arrowRef, overlayRef, updatePosition };
|
|
575
|
+
return { arrowRef, overlayRef, styles, updatePosition };
|
|
560
576
|
}
|
|
561
577
|
var flexibleOverlay = "";
|
|
562
578
|
const FlexibleOverlay = defineComponent({
|
|
@@ -577,6 +593,7 @@ const FlexibleOverlay = defineComponent({
|
|
|
577
593
|
const {
|
|
578
594
|
arrowRef,
|
|
579
595
|
overlayRef,
|
|
596
|
+
styles,
|
|
580
597
|
updatePosition
|
|
581
598
|
} = useOverlay(props, emit);
|
|
582
599
|
expose({
|
|
@@ -586,7 +603,8 @@ const FlexibleOverlay = defineComponent({
|
|
|
586
603
|
var _a;
|
|
587
604
|
return props.modelValue && createVNode("div", mergeProps({
|
|
588
605
|
"ref": overlayRef,
|
|
589
|
-
"class": ns2.b()
|
|
606
|
+
"class": ns2.b(),
|
|
607
|
+
"style": styles.value
|
|
590
608
|
}, attrs, {
|
|
591
609
|
"onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
|
|
592
610
|
"onPointerup": withModifiers(() => ({}), ["stop"])
|
|
@@ -1124,7 +1142,9 @@ var CategorySearchTagDropdown = defineComponent({
|
|
|
1124
1142
|
const {
|
|
1125
1143
|
rootCtx,
|
|
1126
1144
|
ComponentMap,
|
|
1127
|
-
onSearchKeyTagClick
|
|
1145
|
+
onSearchKeyTagClick,
|
|
1146
|
+
addTagContext,
|
|
1147
|
+
removeTagContext
|
|
1128
1148
|
} = inject(categorySearchInjectionKey);
|
|
1129
1149
|
const isVisible = ref(false);
|
|
1130
1150
|
const checkType = (tag2) => {
|
|
@@ -1139,6 +1159,21 @@ var CategorySearchTagDropdown = defineComponent({
|
|
|
1139
1159
|
const onDropdownClose = () => {
|
|
1140
1160
|
isVisible.value = false;
|
|
1141
1161
|
};
|
|
1162
|
+
const toggle = (status) => {
|
|
1163
|
+
if (typeof status === "boolean") {
|
|
1164
|
+
isVisible.value = status;
|
|
1165
|
+
} else {
|
|
1166
|
+
onTagClick();
|
|
1167
|
+
}
|
|
1168
|
+
};
|
|
1169
|
+
onMounted(() => {
|
|
1170
|
+
addTagContext(item.value.field, {
|
|
1171
|
+
toggle
|
|
1172
|
+
});
|
|
1173
|
+
});
|
|
1174
|
+
onUnmounted(() => {
|
|
1175
|
+
removeTagContext(item.value.field);
|
|
1176
|
+
});
|
|
1142
1177
|
return () => item.value.type !== "keyword" ? createVNode(Dropdown, {
|
|
1143
1178
|
"visible": isVisible.value,
|
|
1144
1179
|
"trigger": "manually",
|
|
@@ -6738,7 +6773,7 @@ var lodash = { exports: {} };
|
|
|
6738
6773
|
var delay = baseRest2(function(func, wait, args) {
|
|
6739
6774
|
return baseDelay(func, toNumber(wait) || 0, args);
|
|
6740
6775
|
});
|
|
6741
|
-
function
|
|
6776
|
+
function flip2(func) {
|
|
6742
6777
|
return createWrap(func, WRAP_FLIP_FLAG);
|
|
6743
6778
|
}
|
|
6744
6779
|
function memoize(func, resolver) {
|
|
@@ -7862,7 +7897,7 @@ var lodash = { exports: {} };
|
|
|
7862
7897
|
lodash2.flatten = flatten;
|
|
7863
7898
|
lodash2.flattenDeep = flattenDeep;
|
|
7864
7899
|
lodash2.flattenDepth = flattenDepth;
|
|
7865
|
-
lodash2.flip =
|
|
7900
|
+
lodash2.flip = flip2;
|
|
7866
7901
|
lodash2.flow = flow;
|
|
7867
7902
|
lodash2.flowRight = flowRight;
|
|
7868
7903
|
lodash2.fromPairs = fromPairs;
|
|
@@ -11937,12 +11972,24 @@ function useCategorySearch(props, ctx) {
|
|
|
11937
11972
|
watch(() => extendConfig == null ? void 0 : extendConfig.value, () => {
|
|
11938
11973
|
merge$1(operationConfig, (extendConfig == null ? void 0 : extendConfig.value) || {});
|
|
11939
11974
|
}, { immediate: true, deep: true });
|
|
11975
|
+
const tagContextMap = {};
|
|
11976
|
+
const addTagContext = (field, context) => {
|
|
11977
|
+
Reflect.defineProperty(tagContextMap, field, { value: context });
|
|
11978
|
+
};
|
|
11979
|
+
const removeTagContext = (field) => {
|
|
11980
|
+
Reflect.deleteProperty(tagContextMap, field);
|
|
11981
|
+
};
|
|
11982
|
+
const toggleTagMenu = (field, status) => {
|
|
11983
|
+
var _a;
|
|
11984
|
+
(_a = tagContextMap[field]) == null ? void 0 : _a.toggle(status);
|
|
11985
|
+
};
|
|
11940
11986
|
ctx.expose({
|
|
11941
11987
|
chooseItem,
|
|
11942
11988
|
chooseItems,
|
|
11943
11989
|
getTextInputValue,
|
|
11944
11990
|
getNumberRangeValue,
|
|
11945
|
-
searchCategory
|
|
11991
|
+
searchCategory,
|
|
11992
|
+
toggleTagMenu
|
|
11946
11993
|
});
|
|
11947
11994
|
onMounted(() => scrollToTail(true));
|
|
11948
11995
|
provide(categorySearchInjectionKey, {
|
|
@@ -11982,7 +12029,9 @@ function useCategorySearch(props, ctx) {
|
|
|
11982
12029
|
searchCategory,
|
|
11983
12030
|
showCurrentSearchCategory,
|
|
11984
12031
|
onInputBackspace,
|
|
11985
|
-
onInputToggle
|
|
12032
|
+
onInputToggle,
|
|
12033
|
+
addTagContext,
|
|
12034
|
+
removeTagContext
|
|
11986
12035
|
});
|
|
11987
12036
|
function init() {
|
|
11988
12037
|
var _a, _b;
|