vft 0.0.415 → 0.0.417
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/es/components/autocomplete/autocomplete.vue.d.ts +8 -8
- package/es/components/autocomplete/index.d.ts +24 -24
- package/es/components/button/button.vue.d.ts +1 -1
- package/es/components/button/index.d.ts +30 -30
- package/es/components/button/use-button.d.ts +1 -1
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/color-picker/composables/use-alpha-slider.d.ts +2 -2
- package/es/components/config-provider/config-provider.vue.d.ts +2 -0
- package/es/components/config-provider/config-provider.vue2.js +4 -3
- package/es/components/config-provider/index.d.ts +9 -0
- package/es/components/dialog/constants.d.ts +1 -0
- package/es/components/dialog/constants.js +2 -1
- package/es/components/dialog/dialog-content.vue.d.ts +4 -1
- package/es/components/dialog/dialog-content.vue2.js +59 -48
- package/es/components/dialog/dialog.vue.d.ts +4 -19
- package/es/components/dialog/dialog.vue2.js +104 -89
- package/es/components/dialog/index.d.ts +70 -3
- package/es/components/dialog/index.js +5 -4
- package/es/components/dialog/types.d.ts +69 -0
- package/es/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
- package/es/components/dialog/use-dialog.js +138 -0
- package/es/components/drawer/composables/useResizable.d.ts +7 -0
- package/es/components/drawer/composables/useResizable.js +53 -0
- package/es/components/drawer/drawer.vue.d.ts +3 -7
- package/es/components/drawer/drawer.vue2.js +122 -97
- package/es/components/drawer/index.d.ts +78 -0
- package/es/components/drawer/types.d.ts +13 -0
- package/es/components/drawer/types.js +1 -0
- package/es/components/dropdown/dropdown.vue.d.ts +1 -1
- package/es/components/dropdown/index.d.ts +15 -15
- package/es/components/form/index.d.ts +6 -6
- package/es/components/index.js +172 -171
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/input-tag/input-tag.vue.d.ts +1 -1
- package/es/components/link/index.d.ts +3 -3
- package/es/components/md-code-demo/md-code-demo.js +10 -10
- package/es/components/modal/index.d.ts +87 -24
- package/es/components/modal/modal.vue.d.ts +1 -1
- package/es/components/modal/modal.vue2.js +24 -17
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +82 -79
- package/es/components/popover/index.d.ts +0 -9
- package/es/components/popover/popover.vue2.js +4 -5
- package/es/components/popover/types.d.ts +23 -1
- package/es/components/search/search.vue2.js +3 -3
- package/es/components/select/index.d.ts +20 -20
- package/es/components/select/select.vue.d.ts +20 -20
- package/es/components/select/useSelect.d.ts +17 -17
- package/es/components/super-form/super-form-item.vue2.js +1 -1
- package/es/components/table/index.d.ts +9 -9
- package/es/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/es/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/es/components/timeline/index.d.ts +6 -6
- package/es/components/tooltip/index.d.ts +3 -3
- package/es/components/tooltip/tooltip.vue2.js +1 -1
- package/es/components/tooltip/types.d.ts +81 -1
- package/es/hooks/use-draggable/index.d.ts +5 -1
- package/es/hooks/use-draggable/index.js +39 -34
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/index.js +2 -2
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/helper.d.ts +1 -1
- package/es/utils/ns-cover.d.ts +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/autocomplete/autocomplete.vue.d.ts +8 -8
- package/lib/components/autocomplete/index.d.ts +24 -24
- package/lib/components/button/button.vue.d.ts +1 -1
- package/lib/components/button/index.d.ts +30 -30
- package/lib/components/button/use-button.d.ts +1 -1
- package/lib/components/color-picker/composables/use-alpha-slider.d.ts +2 -2
- package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
- package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
- package/lib/components/config-provider/index.d.ts +9 -0
- package/lib/components/dialog/constants.cjs +1 -1
- package/lib/components/dialog/constants.d.ts +1 -0
- package/lib/components/dialog/dialog-content.vue.d.ts +4 -1
- package/lib/components/dialog/dialog-content.vue2.cjs +1 -1
- package/lib/components/dialog/dialog.vue.d.ts +4 -19
- package/lib/components/dialog/dialog.vue2.cjs +1 -1
- package/lib/components/dialog/index.cjs +1 -1
- package/lib/components/dialog/index.d.ts +70 -3
- package/lib/components/dialog/types.d.ts +69 -0
- package/lib/components/dialog/use-dialog.cjs +1 -0
- package/lib/components/dialog/{hooks/use-dialog.d.ts → use-dialog.d.ts} +11 -2
- package/lib/components/drawer/composables/useResizable.cjs +1 -0
- package/lib/components/drawer/composables/useResizable.d.ts +7 -0
- package/lib/components/drawer/drawer.vue.d.ts +3 -7
- package/lib/components/drawer/drawer.vue2.cjs +1 -1
- package/lib/components/drawer/index.d.ts +78 -0
- package/lib/components/drawer/types.cjs +1 -0
- package/lib/components/drawer/types.d.ts +13 -0
- package/lib/components/dropdown/dropdown.vue.d.ts +1 -1
- package/lib/components/dropdown/index.d.ts +15 -15
- package/lib/components/form/index.d.ts +6 -6
- package/lib/components/index.cjs +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/input-tag/input-tag.vue.d.ts +1 -1
- package/lib/components/link/index.d.ts +3 -3
- package/lib/components/md-code-demo/md-code-demo.cjs +1 -1
- package/lib/components/modal/index.d.ts +87 -24
- package/lib/components/modal/modal.vue.d.ts +1 -1
- package/lib/components/modal/modal.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/popover/index.d.ts +0 -9
- package/lib/components/popover/popover.vue2.cjs +1 -1
- package/lib/components/popover/types.d.ts +23 -1
- package/lib/components/search/search.vue2.cjs +1 -1
- package/lib/components/select/index.d.ts +20 -20
- package/lib/components/select/select.vue.d.ts +20 -20
- package/lib/components/select/useSelect.d.ts +17 -17
- package/lib/components/table/index.d.ts +9 -9
- package/lib/components/time-picker/time-picker-com/panel-time-pick.vue.d.ts +1 -1
- package/lib/components/time-picker/time-picker-com/panel-time-range.vue.d.ts +1 -1
- package/lib/components/timeline/index.d.ts +6 -6
- package/lib/components/tooltip/index.d.ts +3 -3
- package/lib/components/tooltip/tooltip.vue2.cjs +1 -1
- package/lib/components/tooltip/types.d.ts +81 -1
- package/lib/hooks/use-draggable/index.cjs +1 -1
- package/lib/hooks/use-draggable/index.d.ts +5 -1
- package/lib/index.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/ns-cover.d.ts +1 -1
- package/package.json +3 -3
- package/tags.json +1 -1
- package/theme-style/index.css +1 -1
- package/theme-style/src/card.scss +4 -4
- package/theme-style/src/dialog.scss +36 -35
- package/theme-style/src/drawer.scss +109 -21
- package/theme-style/src/md-container.scss +1 -0
- package/theme-style/src/tag.scss +1 -1
- package/theme-style/vft-card.css +1 -1
- package/theme-style/vft-dialog.css +1 -1
- package/theme-style/vft-drawer.css +1 -1
- package/theme-style/vft-md-container.css +1 -1
- package/theme-style/vft-tag.css +1 -1
- package/web-types.json +1 -1
- package/es/components/dialog/hooks/use-dialog.js +0 -106
- package/lib/components/dialog/hooks/use-dialog.cjs +0 -1
|
@@ -4,7 +4,10 @@ declare function __VLS_template(): {
|
|
|
4
4
|
default?(_: {}): any;
|
|
5
5
|
footer?(_: {}): any;
|
|
6
6
|
};
|
|
7
|
-
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DialogContentProps>>, {
|
|
7
|
+
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DialogContentProps>>, {
|
|
8
|
+
resetPosition: () => void;
|
|
9
|
+
updatePosition: () => void;
|
|
10
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
11
|
close: (...args: any[]) => void;
|
|
9
12
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DialogContentProps>>> & Readonly<{
|
|
10
13
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),b=require("@vft/utils"),v=require("../icon/index.cjs");require("../focus-trap/focus-trap.vue2.cjs");const h=require("../focus-trap/tokens.cjs");require("../focus-trap/utils.cjs");require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const B=require("../../utils/vue/refs.cjs");require("../form/index.cjs");const k=require("../../hooks/use-draggable/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const I=require("./constants.cjs"),S=["id"],w=e.defineComponent({name:"vft-dialog-content"}),z=e.defineComponent({...w,props:{center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},overflow:{type:Boolean},headerClass:{},bodyClass:{},footerClass:{}},emits:["close"],setup(l,{expose:i}){const{dialogRef:r,headerRef:t,bodyId:u,ns:o,style:c}=e.inject(I.dialogInjectionKey),{focusTrapRef:d}=e.inject(h.FOCUS_TRAP_INJECTION_KEY),f=B.composeRefs(d,r),n=e.computed(()=>l.draggable),m=e.computed(()=>l.overflow),{resetPosition:g,updatePosition:C,isDragging:y}=k.useDraggable(r,t,n,m),p=e.computed(()=>[o.b(),o.is("fullscreen",l.fullscreen),o.is("draggable",n.value),o.is("dragging",y.value),o.is("align-center",l.alignCenter),{[o.m("center")]:l.center}]),q=e.computed(()=>b.singleAttrToObj(l.closeIcon,"icon",{icon:"icon-close",pointer:!0,size:16}));return i({resetPosition:g,updatePosition:C}),(s,a)=>(e.openBlock(),e.createElementBlock("div",{ref:e.unref(f),class:e.normalizeClass(p.value),style:e.normalizeStyle(e.unref(c)),tabindex:"-1"},[e.createElementVNode("header",{ref_key:"headerRef",ref:t,class:e.normalizeClass([e.unref(o).e("header"),s.headerClass,{"show-close":s.showClose}])},[e.renderSlot(s.$slots,"header",{},()=>[e.createElementVNode("span",{role:"heading",class:e.normalizeClass(e.unref(o).e("title"))},e.toDisplayString(s.title),3)]),s.showClose?(e.openBlock(),e.createBlock(e.unref(v.VftIcon),e.mergeProps({key:0,class:[e.unref(o).e("headerbtn")],onClick:a[0]||(a[0]=E=>s.$emit("close"))},q.value),null,16,["class"])):e.createCommentVNode("",!0)],2),e.createElementVNode("div",{id:e.unref(u),class:e.normalizeClass([e.unref(o).e("body"),s.bodyClass])},[e.renderSlot(s.$slots,"default")],10,S),s.$slots.footer?(e.openBlock(),e.createElementBlock("footer",{key:0,class:e.normalizeClass([e.unref(o).e("footer"),s.footerClass])},[e.renderSlot(s.$slots,"footer")],2)):e.createCommentVNode("",!0)],6))}});exports.default=z;
|
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
type DoneFn = (cancel?: boolean) => void;
|
|
3
|
-
export interface DialogProps extends DialogContentProps {
|
|
4
|
-
appendToBody?: boolean;
|
|
5
|
-
beforeClose?: (done: DoneFn) => void;
|
|
6
|
-
destroyOnClose?: boolean;
|
|
7
|
-
closeOnClickModal?: boolean;
|
|
8
|
-
closeOnPressEscape?: boolean;
|
|
9
|
-
lockScroll?: boolean;
|
|
10
|
-
modal?: boolean;
|
|
11
|
-
openDelay?: number;
|
|
12
|
-
closeDelay?: number;
|
|
13
|
-
top?: string;
|
|
14
|
-
modelValue?: boolean;
|
|
15
|
-
modalClass?: string;
|
|
16
|
-
width?: string | number;
|
|
17
|
-
zIndex?: number;
|
|
18
|
-
trapFocus?: boolean;
|
|
19
|
-
}
|
|
1
|
+
import { type DialogProps } from './types';
|
|
20
2
|
declare function __VLS_template(): {
|
|
21
3
|
header?(_: {
|
|
22
4
|
close: () => void;
|
|
@@ -28,8 +10,11 @@ declare function __VLS_template(): {
|
|
|
28
10
|
footer?(_: {}): any;
|
|
29
11
|
};
|
|
30
12
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DialogProps>>, {
|
|
13
|
+
/** @description whether the dialog is visible */
|
|
31
14
|
visible: import("vue").Ref<boolean, boolean>;
|
|
32
15
|
dialogContentRef: import("vue").Ref<any, any>;
|
|
16
|
+
resetPosition: () => void;
|
|
17
|
+
handleClose: () => void;
|
|
33
18
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
34
19
|
"update:modelValue": (value: boolean) => void;
|
|
35
20
|
close: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue")
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),$=require("../focus-trap/focus-trap.vue.cjs");require("../focus-trap/utils.cjs");const M=require("../overlay/index.cjs"),A=require("../teleport/index.cjs"),I=require("../../constants/event.cjs");require("@vueuse/core");const V=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const D=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");const z=require("../../hooks/use-same-target/index.cjs");require("../../hooks/use-z-index/index.cjs");const E=require("./constants.cjs"),N=require("./dialog-content.vue2.cjs"),O=require("./use-dialog.cjs"),j=["aria-label","aria-labelledby","aria-describedby"],K=e.defineComponent({name:"vft-dialog",inheritAttrs:!1}),L=e.defineComponent({...K,props:{appendToBody:{type:Boolean,default:!1},appendTo:{default:"body"},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{}},emits:{[I.UPDATE_MODEL_EVENT]:r=>V.isBoolean(r),open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,openAutoFocus:()=>!0,closeAutoFocus:()=>!0},setup(r,{expose:y}){const n=D.useNamespace("dialog"),i=e.ref(),C=e.ref(),s=e.ref(),v=e.getCurrentInstance(),{visible:u,titleId:f,bodyId:c,style:m,overlayDialogStyle:g,rendered:p,transitionConfig:b,zIndex:q,_draggable:B,_alignCenter:w,_overflow:h,handleClose:d,onModalClick:k,onOpenAutoFocus:P,onCloseAutoFocus:T,onCloseRequested:F,onFocusoutPrevented:R}=O.useDialog(v.props,i);e.provide(E.dialogInjectionKey,{dialogRef:i,headerRef:C,bodyId:c,ns:n,rendered:p,style:m});const l=z.useSameTarget(k),S=e.computed(()=>r.modalPenetrable&&!r.modal&&!r.fullscreen);return y({visible:u,dialogContentRef:s,resetPosition:()=>{s.value?.resetPosition()},handleClose:d}),(o,t)=>(e.openBlock(),e.createBlock(e.unref(A.VftTeleport),{to:o.appendTo,disabled:o.appendTo!=="body"?!1:!o.appendToBody},{default:e.withCtx(()=>[e.createVNode(e.Transition,e.normalizeProps(e.guardReactiveProps(e.unref(b))),{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(M.VftOverlay),{"custom-mask-event":"",mask:o.modal,"overlay-class":[o.modalClass??"",`${e.unref(n).namespace.value}-modal-dialog`,e.unref(n).is("penetrable",S.value)],"z-index":e.unref(q)},{default:e.withCtx(()=>[e.createElementVNode("div",{role:"dialog","aria-modal":"true","aria-label":o.title||void 0,"aria-labelledby":o.title?void 0:e.unref(f),"aria-describedby":e.unref(c),class:e.normalizeClass(`${e.unref(n).namespace.value}-overlay-dialog`),style:e.normalizeStyle(e.unref(g)),onClick:t[0]||(t[0]=(...a)=>e.unref(l).onClick&&e.unref(l).onClick(...a)),onMousedown:t[1]||(t[1]=(...a)=>e.unref(l).onMousedown&&e.unref(l).onMousedown(...a)),onMouseup:t[2]||(t[2]=(...a)=>e.unref(l).onMouseup&&e.unref(l).onMouseup(...a))},[e.createVNode(e.unref($.default),{loop:"",trapped:e.unref(u),"focus-start-el":"container",onFocusAfterTrapped:e.unref(P),onFocusAfterReleased:e.unref(T),onFocusoutPrevented:e.unref(R),onReleaseRequested:e.unref(F)},{default:e.withCtx(()=>[e.unref(p)?(e.openBlock(),e.createBlock(N.default,e.mergeProps({key:0,ref_key:"dialogContentRef",ref:s},o.$attrs,{center:o.center,"align-center":e.unref(w),"close-icon":o.closeIcon,draggable:e.unref(B),overflow:e.unref(h),fullscreen:o.fullscreen,"header-class":o.headerClass,"body-class":o.bodyClass,"footer-class":o.footerClass,"show-close":o.showClose,title:o.title,onClose:e.unref(d)}),e.createSlots({header:e.withCtx(()=>[o.$slots.title?e.renderSlot(o.$slots,"title",{key:1}):e.renderSlot(o.$slots,"header",{key:0,close:e.unref(d),titleId:e.unref(f),titleClass:e.unref(n).e("title")})]),default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[o.$slots.footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"footer")]),key:"0"}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","onClose"])):e.createCommentVNode("",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,j)]),_:3},8,["mask","overlay-class","z-index"]),[[e.vShow,e.unref(u)]])]),_:3},16)]),_:3},8,["to","disabled"]))}});exports.default=L;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("vue");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("vue");const r=require("../../utils/vue/install.cjs");require("lodash-es");require("../form/index.cjs");const t=require("./dialog.vue2.cjs"),e=require("./constants.cjs"),u=require("./use-dialog.cjs"),i=r.withInstall(t.default);exports.DEFAULT_DIALOG_TRANSITION=e.DEFAULT_DIALOG_TRANSITION;exports.dialogInjectionKey=e.dialogInjectionKey;exports.useDialog=u.useDialog;exports.VftDialog=i;exports.default=i;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { type DialogProps } from './dialog.vue';
|
|
2
1
|
export * from './constants';
|
|
3
|
-
export * from './
|
|
2
|
+
export * from './use-dialog';
|
|
4
3
|
export * from './types';
|
|
5
|
-
export type { DialogProps };
|
|
6
4
|
export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
7
5
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
8
6
|
appendToBody: {
|
|
9
7
|
type: import("vue").PropType<boolean>;
|
|
10
8
|
};
|
|
9
|
+
appendTo: {
|
|
10
|
+
type: import("vue").PropType<string | HTMLElement>;
|
|
11
|
+
};
|
|
11
12
|
beforeClose: {
|
|
12
13
|
type: import("vue").PropType<(done: (cancel?: boolean) => void) => void>;
|
|
13
14
|
};
|
|
@@ -35,6 +36,9 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
35
36
|
top: {
|
|
36
37
|
type: import("vue").PropType<string>;
|
|
37
38
|
};
|
|
39
|
+
modalPenetrable: {
|
|
40
|
+
type: import("vue").PropType<boolean>;
|
|
41
|
+
};
|
|
38
42
|
modelValue: {
|
|
39
43
|
type: import("vue").PropType<boolean>;
|
|
40
44
|
};
|
|
@@ -50,6 +54,12 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
50
54
|
trapFocus: {
|
|
51
55
|
type: import("vue").PropType<boolean>;
|
|
52
56
|
};
|
|
57
|
+
overflow: {
|
|
58
|
+
type: import("vue").PropType<boolean>;
|
|
59
|
+
};
|
|
60
|
+
transition: {
|
|
61
|
+
type: import("vue").PropType<string | import("vue").TransitionProps>;
|
|
62
|
+
};
|
|
53
63
|
center: {
|
|
54
64
|
type: import("vue").PropType<boolean>;
|
|
55
65
|
};
|
|
@@ -74,6 +84,15 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
74
84
|
title: {
|
|
75
85
|
type: import("vue").PropType<string>;
|
|
76
86
|
};
|
|
87
|
+
headerClass: {
|
|
88
|
+
type: import("vue").PropType<string>;
|
|
89
|
+
};
|
|
90
|
+
bodyClass: {
|
|
91
|
+
type: import("vue").PropType<string>;
|
|
92
|
+
};
|
|
93
|
+
footerClass: {
|
|
94
|
+
type: import("vue").PropType<string>;
|
|
95
|
+
};
|
|
77
96
|
}>> & Readonly<{
|
|
78
97
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
79
98
|
onClose?: (() => any) | undefined;
|
|
@@ -85,6 +104,8 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
85
104
|
}>, {
|
|
86
105
|
visible: import("vue").Ref<boolean, boolean>;
|
|
87
106
|
dialogContentRef: import("vue").Ref<any, any>;
|
|
107
|
+
resetPosition: () => void;
|
|
108
|
+
handleClose: () => void;
|
|
88
109
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
89
110
|
"update:modelValue": (value: boolean) => void;
|
|
90
111
|
close: () => void;
|
|
@@ -104,6 +125,9 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
104
125
|
appendToBody: {
|
|
105
126
|
type: import("vue").PropType<boolean>;
|
|
106
127
|
};
|
|
128
|
+
appendTo: {
|
|
129
|
+
type: import("vue").PropType<string | HTMLElement>;
|
|
130
|
+
};
|
|
107
131
|
beforeClose: {
|
|
108
132
|
type: import("vue").PropType<(done: (cancel?: boolean) => void) => void>;
|
|
109
133
|
};
|
|
@@ -131,6 +155,9 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
131
155
|
top: {
|
|
132
156
|
type: import("vue").PropType<string>;
|
|
133
157
|
};
|
|
158
|
+
modalPenetrable: {
|
|
159
|
+
type: import("vue").PropType<boolean>;
|
|
160
|
+
};
|
|
134
161
|
modelValue: {
|
|
135
162
|
type: import("vue").PropType<boolean>;
|
|
136
163
|
};
|
|
@@ -146,6 +173,12 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
146
173
|
trapFocus: {
|
|
147
174
|
type: import("vue").PropType<boolean>;
|
|
148
175
|
};
|
|
176
|
+
overflow: {
|
|
177
|
+
type: import("vue").PropType<boolean>;
|
|
178
|
+
};
|
|
179
|
+
transition: {
|
|
180
|
+
type: import("vue").PropType<string | import("vue").TransitionProps>;
|
|
181
|
+
};
|
|
149
182
|
center: {
|
|
150
183
|
type: import("vue").PropType<boolean>;
|
|
151
184
|
};
|
|
@@ -170,6 +203,15 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
170
203
|
title: {
|
|
171
204
|
type: import("vue").PropType<string>;
|
|
172
205
|
};
|
|
206
|
+
headerClass: {
|
|
207
|
+
type: import("vue").PropType<string>;
|
|
208
|
+
};
|
|
209
|
+
bodyClass: {
|
|
210
|
+
type: import("vue").PropType<string>;
|
|
211
|
+
};
|
|
212
|
+
footerClass: {
|
|
213
|
+
type: import("vue").PropType<string>;
|
|
214
|
+
};
|
|
173
215
|
}>> & Readonly<{
|
|
174
216
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
175
217
|
onClose?: (() => any) | undefined;
|
|
@@ -181,6 +223,8 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
181
223
|
}>, {
|
|
182
224
|
visible: import("vue").Ref<boolean, boolean>;
|
|
183
225
|
dialogContentRef: import("vue").Ref<any, any>;
|
|
226
|
+
resetPosition: () => void;
|
|
227
|
+
handleClose: () => void;
|
|
184
228
|
}, {}, {}, {}, {}>;
|
|
185
229
|
__isFragment?: never;
|
|
186
230
|
__isTeleport?: never;
|
|
@@ -189,6 +233,9 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
189
233
|
appendToBody: {
|
|
190
234
|
type: import("vue").PropType<boolean>;
|
|
191
235
|
};
|
|
236
|
+
appendTo: {
|
|
237
|
+
type: import("vue").PropType<string | HTMLElement>;
|
|
238
|
+
};
|
|
192
239
|
beforeClose: {
|
|
193
240
|
type: import("vue").PropType<(done: (cancel?: boolean) => void) => void>;
|
|
194
241
|
};
|
|
@@ -216,6 +263,9 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
216
263
|
top: {
|
|
217
264
|
type: import("vue").PropType<string>;
|
|
218
265
|
};
|
|
266
|
+
modalPenetrable: {
|
|
267
|
+
type: import("vue").PropType<boolean>;
|
|
268
|
+
};
|
|
219
269
|
modelValue: {
|
|
220
270
|
type: import("vue").PropType<boolean>;
|
|
221
271
|
};
|
|
@@ -231,6 +281,12 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
231
281
|
trapFocus: {
|
|
232
282
|
type: import("vue").PropType<boolean>;
|
|
233
283
|
};
|
|
284
|
+
overflow: {
|
|
285
|
+
type: import("vue").PropType<boolean>;
|
|
286
|
+
};
|
|
287
|
+
transition: {
|
|
288
|
+
type: import("vue").PropType<string | import("vue").TransitionProps>;
|
|
289
|
+
};
|
|
234
290
|
center: {
|
|
235
291
|
type: import("vue").PropType<boolean>;
|
|
236
292
|
};
|
|
@@ -255,6 +311,15 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
255
311
|
title: {
|
|
256
312
|
type: import("vue").PropType<string>;
|
|
257
313
|
};
|
|
314
|
+
headerClass: {
|
|
315
|
+
type: import("vue").PropType<string>;
|
|
316
|
+
};
|
|
317
|
+
bodyClass: {
|
|
318
|
+
type: import("vue").PropType<string>;
|
|
319
|
+
};
|
|
320
|
+
footerClass: {
|
|
321
|
+
type: import("vue").PropType<string>;
|
|
322
|
+
};
|
|
258
323
|
}>> & Readonly<{
|
|
259
324
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
260
325
|
onClose?: (() => any) | undefined;
|
|
@@ -266,6 +331,8 @@ export declare const VftDialog: import("vft/es/utils").SFCWithInstall<{
|
|
|
266
331
|
}>, {
|
|
267
332
|
visible: import("vue").Ref<boolean, boolean>;
|
|
268
333
|
dialogContentRef: import("vue").Ref<any, any>;
|
|
334
|
+
resetPosition: () => void;
|
|
335
|
+
handleClose: () => void;
|
|
269
336
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
270
337
|
"update:modelValue": (value: boolean) => void;
|
|
271
338
|
close: () => void;
|
|
@@ -1,11 +1,80 @@
|
|
|
1
1
|
import type { IconProps } from 'vft/es/components/icon';
|
|
2
|
+
import type { TransitionProps } from 'vue';
|
|
3
|
+
type DoneFn = (cancel?: boolean) => void;
|
|
4
|
+
export interface DialogProps extends DialogContentProps {
|
|
5
|
+
/** 是否将对话框挂载到 body 元素上 */
|
|
6
|
+
appendToBody?: boolean;
|
|
7
|
+
/** 指定对话框挂载的容器元素 */
|
|
8
|
+
appendTo?: string | HTMLElement;
|
|
9
|
+
/** 关闭前的回调,会暂停对话框的关闭 */
|
|
10
|
+
beforeClose?: (done: DoneFn) => void;
|
|
11
|
+
/** 关闭时销毁对话框内的元素 */
|
|
12
|
+
destroyOnClose?: boolean;
|
|
13
|
+
/** 是否可以通过点击遮罩层关闭对话框 */
|
|
14
|
+
closeOnClickModal?: boolean;
|
|
15
|
+
/** 是否可以通过按下 ESC 键关闭对话框 */
|
|
16
|
+
closeOnPressEscape?: boolean;
|
|
17
|
+
/** 是否锁定页面滚动 */
|
|
18
|
+
lockScroll?: boolean;
|
|
19
|
+
/** 是否显示遮罩层 */
|
|
20
|
+
modal?: boolean;
|
|
21
|
+
/** 对话框打开的延时时间(毫秒) */
|
|
22
|
+
openDelay?: number;
|
|
23
|
+
/** 对话框关闭的延时时间(毫秒) */
|
|
24
|
+
closeDelay?: number;
|
|
25
|
+
/** 对话框距离顶部的距离 */
|
|
26
|
+
top?: string;
|
|
27
|
+
/** 遮罩层是否可穿透 */
|
|
28
|
+
modalPenetrable?: boolean;
|
|
29
|
+
/** 对话框是否可见 */
|
|
30
|
+
modelValue?: boolean;
|
|
31
|
+
/** 遮罩层的自定义类名 */
|
|
32
|
+
modalClass?: string;
|
|
33
|
+
/** 对话框的宽度 */
|
|
34
|
+
width?: string | number;
|
|
35
|
+
/** 对话框的层级 */
|
|
36
|
+
zIndex?: number;
|
|
37
|
+
/** 是否启用焦点陷阱 */
|
|
38
|
+
trapFocus?: boolean;
|
|
39
|
+
/** 是否允许对话框内容溢出 */
|
|
40
|
+
overflow?: boolean;
|
|
41
|
+
/** 对话框的过渡动画 */
|
|
42
|
+
transition?: string | TransitionProps;
|
|
43
|
+
}
|
|
2
44
|
export interface DialogContentProps {
|
|
45
|
+
/** 是否居中显示对话框 */
|
|
3
46
|
center?: boolean;
|
|
47
|
+
/** 是否垂直居中显示对话框 */
|
|
4
48
|
alignCenter?: boolean;
|
|
49
|
+
/** 关闭按钮的图标 */
|
|
5
50
|
closeIcon?: string | IconProps;
|
|
51
|
+
/** 对话框的自定义类名 */
|
|
6
52
|
customClass?: string;
|
|
53
|
+
/** 是否可拖拽对话框 */
|
|
7
54
|
draggable?: boolean;
|
|
55
|
+
/** 是否全屏显示对话框 */
|
|
8
56
|
fullscreen?: boolean;
|
|
57
|
+
/** 是否显示关闭按钮 */
|
|
9
58
|
showClose?: boolean;
|
|
59
|
+
/** 对话框标题 */
|
|
10
60
|
title?: string;
|
|
61
|
+
/** 是否允许对话框内容溢出 */
|
|
62
|
+
overflow?: boolean;
|
|
63
|
+
/** 对话框头部内容的自定义类名 */
|
|
64
|
+
headerClass?: string;
|
|
65
|
+
/** 对话框主体内容的自定义类名 */
|
|
66
|
+
bodyClass?: string;
|
|
67
|
+
/** 对话框底部内容的自定义类名 */
|
|
68
|
+
footerClass?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface DialogConfigContext {
|
|
71
|
+
/** 是否垂直居中显示对话框 */
|
|
72
|
+
alignCenter?: boolean;
|
|
73
|
+
/** 是否可拖拽对话框 */
|
|
74
|
+
draggable?: boolean;
|
|
75
|
+
/** 是否允许对话框内容溢出 */
|
|
76
|
+
overflow?: boolean;
|
|
77
|
+
/** 对话框的过渡动画 */
|
|
78
|
+
transition?: string | TransitionProps;
|
|
11
79
|
}
|
|
80
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("./constants.cjs");require("../config-provider/index.cjs");const W=require("../../constants/event.cjs"),x=require("@vueuse/core"),f=require("@vft/utils"),X=require("../../utils/helper.cjs"),n=require("vue");require("lodash-es");require("../form/index.cjs");const P=require("../../hooks/use-id/index.cjs"),Y=require("../../hooks/use-lockscreen/index.cjs");require("../../hooks/use-model-toggle/index.cjs");const H=require("../../hooks/use-namespace/index.cjs");require("@popperjs/core");const R=require("../../hooks/use-z-index/index.cjs"),p=require("../config-provider/hooks/use-global-config.cjs"),ee=(e,l)=>{const i=n.getCurrentInstance().emit,{nextZIndex:d}=R.useZIndex();let L="";const S=P.useId(),$=P.useId(),u=n.ref(!1),v=n.ref(!1),c=n.ref(!1),m=n.ref(e.zIndex??d());let g,y;const E=p.useGlobalConfig(),z=n.computed(()=>E.value?.namespace??H.defaultNamespace),s=n.computed(()=>E.value?.dialog),M=n.computed(()=>{const o={},a=`--${z.value}-dialog`;return e.fullscreen||(e.top&&(o[`${a}-margin-top`]=e.top),e.width&&(o[`${a}-width`]=X.addUnit(e.width))),o}),G=n.computed(()=>(e.draggable??s.value?.draggable??!1)&&!e.fullscreen),O=n.computed(()=>e.alignCenter??s.value?.alignCenter??!1),U=n.computed(()=>e.overflow??s.value?.overflow??!1),k=n.computed(()=>O.value?{display:"flex"}:{}),B=n.computed(()=>{const o=e.transition??s.value?.transition??N.DEFAULT_DIALOG_TRANSITION,a={name:o,onAfterEnter:C,onBeforeLeave:I,onAfterLeave:A};if(f.isObject(o)){const t={...o},b=(r,Q)=>_=>{f.isArray(r)?r.forEach(w=>{f.isFunction(w)&&w(_)}):f.isFunction(r)&&r(_),Q()};return t.onAfterEnter=b(t.onAfterEnter,C),t.onBeforeLeave=b(t.onBeforeLeave,I),t.onAfterLeave=b(t.onAfterLeave,A),t.name||(t.name=N.DEFAULT_DIALOG_TRANSITION),t}return a});function C(){i("opened")}function A(){i("closed"),i(W.UPDATE_MODEL_EVENT,!1),e.destroyOnClose&&(c.value=!1)}function I(){i("close")}function F(){y?.(),g?.(),e.openDelay&&e.openDelay>0?{stop:g}=x.useTimeoutFn(()=>h(),e.openDelay):h()}function q(){g?.(),y?.(),e.closeDelay&&e.closeDelay>0?{stop:y}=x.useTimeoutFn(()=>T(),e.closeDelay):T()}function D(){function o(a){a||(v.value=!0,u.value=!1)}console.log(111),e.beforeClose?e.beforeClose(o):q()}function V(){e.closeOnClickModal&&D()}function h(){x.isClient&&(u.value=!0)}function T(){u.value=!1}function j(){i("openAutoFocus")}function Z(){i("closeAutoFocus")}function J(o){o.detail?.focusReason==="pointer"&&o.preventDefault()}e.lockScroll&&Y.useLockscreen(u);function K(){e.closeOnPressEscape&&D()}return n.watch(()=>e.zIndex,()=>{m.value=e.zIndex??d()}),n.watch(()=>e.modelValue,o=>{o?(v.value=!1,F(),c.value=!0,m.value=e.zIndex??d(),n.nextTick(()=>{i("open"),l.value&&(l.value.parentElement.scrollTop=0,l.value.parentElement.scrollLeft=0,l.value.scrollTop=0)})):u.value&&q()}),n.watch(()=>e.fullscreen,o=>{l.value&&(o?(L=l.value.style.transform,l.value.style.transform=""):l.value.style.transform=L)}),n.onMounted(()=>{e.modelValue&&(u.value=!0,c.value=!0,F())}),{afterEnter:C,afterLeave:A,beforeLeave:I,handleClose:D,onModalClick:V,close:q,doClose:T,onOpenAutoFocus:j,onCloseAutoFocus:Z,onCloseRequested:K,onFocusoutPrevented:J,titleId:S,bodyId:$,closed:v,style:M,overlayDialogStyle:k,rendered:c,visible:u,zIndex:m,transitionConfig:B,_draggable:G,_alignCenter:O,_overflow:U}};exports.useDialog=ee;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { CSSProperties, Ref } from 'vue';
|
|
2
|
-
import type { DialogProps } from '
|
|
1
|
+
import type { CSSProperties, Ref, TransitionProps } from 'vue';
|
|
2
|
+
import type { DialogProps } from './types';
|
|
3
3
|
export declare const useDialog: (props: DialogProps, targetRef: Ref<HTMLElement | undefined>) => {
|
|
4
4
|
afterEnter: () => void;
|
|
5
5
|
afterLeave: () => void;
|
|
@@ -20,4 +20,13 @@ export declare const useDialog: (props: DialogProps, targetRef: Ref<HTMLElement
|
|
|
20
20
|
rendered: Ref<boolean, boolean>;
|
|
21
21
|
visible: Ref<boolean, boolean>;
|
|
22
22
|
zIndex: Ref<number, number>;
|
|
23
|
+
transitionConfig: import("vue").ComputedRef<TransitionProps | {
|
|
24
|
+
name: string | TransitionProps;
|
|
25
|
+
onAfterEnter: () => void;
|
|
26
|
+
onBeforeLeave: () => void;
|
|
27
|
+
onAfterLeave: () => void;
|
|
28
|
+
}>;
|
|
29
|
+
_draggable: import("vue").ComputedRef<boolean>;
|
|
30
|
+
_alignCenter: import("vue").ComputedRef<boolean>;
|
|
31
|
+
_overflow: import("vue").ComputedRef<boolean>;
|
|
23
32
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@vueuse/core");require("@vft/utils");const R=require("../../../utils/helper.cjs");require("lodash-es");require("../../form/index.cjs");function U(u,f){const{width:g,height:z}=s.useWindowSize(),n=e.computed(()=>["ltr","rtl"].includes(u.direction)),m=e.computed(()=>["ltr","ttb"].includes(u.direction)?1:-1),w=e.computed(()=>n.value?g.value:z.value),d=e.computed(()=>s.clamp(o.value+m.value*a.value,4,w.value)),o=e.ref(0),a=e.ref(0),r=e.ref(!1),i=e.ref(!1);let l=[],c=[];const h=()=>{const t=f.value?.closest('[aria-modal="true"]');return t?n.value?t.offsetWidth:t.offsetHeight:100};e.watch(()=>[u.size,u.resizable],()=>{i.value=!1,o.value=0,a.value=0,v()});const p=t=>{u.resizable&&(i.value||(o.value=h(),i.value=!0),l=[t.pageX,t.pageY],r.value=!0,c.push(s.useEventListener(window,"mouseup",v),s.useEventListener(window,"mousemove",S)))},S=t=>{const{pageX:q,pageY:E}=t,M=q-l[0],L=E-l[1];a.value=n.value?M:L},v=()=>{l=[],o.value=d.value,a.value=0,r.value=!1,c.forEach(t=>t?.()),c=[]},b=s.useEventListener(f,"mousedown",p);return e.onBeforeUnmount(()=>{b(),v()}),{size:e.computed(()=>i.value?`${d.value}px`:R.addUnit(u.size)),isResizing:r,isHorizontal:n}}exports.useResizable=U;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { DrawerProps } from '../types';
|
|
2
|
+
import type { Ref } from 'vue';
|
|
3
|
+
export declare function useResizable(props: DrawerProps, target: Ref<HTMLElement | undefined>): {
|
|
4
|
+
size: import("vue").ComputedRef<string>;
|
|
5
|
+
isResizing: Ref<boolean, boolean>;
|
|
6
|
+
isHorizontal: import("vue").ComputedRef<boolean>;
|
|
7
|
+
};
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface DrawerProps extends DialogProps {
|
|
3
|
-
direction?: 'ltr' | 'rtl' | 'ttb' | 'btt';
|
|
4
|
-
size?: string | number;
|
|
5
|
-
withHeader?: boolean;
|
|
6
|
-
modalFade?: boolean;
|
|
7
|
-
}
|
|
1
|
+
import type { DrawerProps } from './types';
|
|
8
2
|
declare function __VLS_template(): {
|
|
9
3
|
header?(_: {
|
|
10
4
|
close: () => void;
|
|
@@ -17,6 +11,8 @@ declare function __VLS_template(): {
|
|
|
17
11
|
};
|
|
18
12
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<DrawerProps>>, {
|
|
19
13
|
close: () => void;
|
|
14
|
+
afterEnter: () => void;
|
|
15
|
+
afterLeave: () => void;
|
|
20
16
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
21
17
|
"update:modelValue": (value: boolean) => void;
|
|
22
18
|
close: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue")
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../dialog/index.cjs");const E=require("../focus-trap/focus-trap.vue.cjs");require("../focus-trap/utils.cjs");const T=require("../icon/index.cjs"),F=require("../overlay/index.cjs"),N=require("../teleport/index.cjs"),S=require("../../constants/event.cjs");require("@vueuse/core");const C=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const I=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const $=require("./composables/useResizable.cjs"),P=require("../dialog/use-dialog.cjs"),D=["aria-label","aria-labelledby","aria-describedby"],O=["id"],L=["id"],M=e.defineComponent({name:"vft-drawer",inheritAttrs:!1}),H=e.defineComponent({...M,props:{direction:{default:"rtl"},size:{default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},resizable:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},appendTo:{default:"body"},beforeClose:{},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{default:0},closeDelay:{default:0},top:{},modalPenetrable:{type:Boolean},modelValue:{type:Boolean,default:!1},modalClass:{},width:{},zIndex:{},trapFocus:{type:Boolean,default:!1},overflow:{type:Boolean},transition:{},center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{},customClass:{default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{default:""},headerClass:{},bodyClass:{},footerClass:{}},emits:{[S.UPDATE_MODEL_EVENT]:t=>C.isBoolean(t),open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,openAutoFocus:()=>!0,closeAutoFocus:()=>!0},setup(t,{expose:B}){const u=e.getCurrentInstance(),l=e.ref(),d=e.ref(),i=e.ref(),r=I.useNamespace("drawer"),{afterEnter:f,afterLeave:c,beforeLeave:b,visible:a,rendered:k,titleId:n,bodyId:p,zIndex:y,onModalClick:v,onOpenAutoFocus:g,onCloseAutoFocus:h,onFocusoutPrevented:q,onCloseRequested:z,handleClose:s}=P.useDialog(u.props,l),{isHorizontal:w,size:R,isResizing:V}=$.useResizable(u.props,i),A=e.computed(()=>C.singleAttrToObj(t.closeIcon,"icon",{icon:"icon-close",pointer:!0}));return B({close:s,afterEnter:f,afterLeave:c}),(o,m)=>(e.openBlock(),e.createBlock(e.unref(N.VftTeleport),{to:o.appendTo,disabled:o.appendTo!=="body"?!1:!o.appendToBody},{default:e.withCtx(()=>[e.createVNode(e.Transition,{name:e.unref(r).b("fade"),onAfterEnter:e.unref(f),onAfterLeave:e.unref(c),onBeforeLeave:e.unref(b)},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(e.unref(F.VftOverlay),{mask:o.modal,"overlay-class":[e.unref(r).is("drawer"),o.modalClass??""],"z-index":e.unref(y),onClick:e.unref(v)},{default:e.withCtx(()=>[e.createVNode(e.unref(E.default),{loop:"",trapped:e.unref(a),"focus-trap-el":l.value,"focus-start-el":d.value,onFocusAfterTrapped:e.unref(g),onFocusAfterReleased:e.unref(h),onFocusoutPrevented:e.unref(q),onReleaseRequested:e.unref(z)},{default:e.withCtx(()=>[e.createElementVNode("div",e.mergeProps({ref_key:"drawerRef",ref:l,"aria-modal":"true","aria-label":o.title||void 0,"aria-labelledby":o.title?void 0:e.unref(n),"aria-describedby":e.unref(p)},o.$attrs,{class:[e.unref(r).b(),o.direction,e.unref(a)&&"open",e.unref(r).is("dragging",e.unref(V))],style:{[e.unref(w)?"width":"height"]:e.unref(R)},role:"dialog",onClick:m[0]||(m[0]=e.withModifiers(()=>{},["stop"]))}),[e.createElementVNode("span",{ref_key:"focusStartRef",ref:d,class:e.normalizeClass(e.unref(r).e("sr-focus")),tabindex:"-1"},null,2),o.withHeader?(e.openBlock(),e.createElementBlock("header",{key:0,class:e.normalizeClass([e.unref(r).e("header"),o.headerClass])},[o.$slots.title?e.renderSlot(o.$slots,"title",{key:1}):e.renderSlot(o.$slots,"header",{key:0,close:e.unref(s),titleId:e.unref(n),titleClass:e.unref(r).e("title")},()=>[e.createElementVNode("span",{id:e.unref(n),role:"heading",class:e.normalizeClass(e.unref(r).e("title"))},e.toDisplayString(o.title),11,O)]),o.showClose?(e.openBlock(),e.createBlock(e.unref(T.VftIcon),e.mergeProps({key:2,onClick:e.unref(s)},A.value,{class:e.unref(r).e("close")}),null,16,["onClick","class"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),e.unref(k)?(e.openBlock(),e.createElementBlock("div",{key:1,id:e.unref(p),class:e.normalizeClass([e.unref(r).e("body"),o.bodyClass])},[e.renderSlot(o.$slots,"default")],10,L)):e.createCommentVNode("",!0),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass([e.unref(r).e("footer"),o.footerClass])},[e.renderSlot(o.$slots,"footer")],2)):e.createCommentVNode("",!0),o.resizable?(e.openBlock(),e.createElementBlock("div",{key:3,ref_key:"draggerRef",ref:i,style:e.normalizeStyle({zIndex:e.unref(y)}),class:e.normalizeClass(e.unref(r).e("dragger"))},null,6)):e.createCommentVNode("",!0)],16,D)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[e.vShow,e.unref(a)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}});exports.default=H;
|