vft 0.0.482 → 0.0.485
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/dist/index.css +1 -1
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/horizontal-menu/horizontal-menu.vue.d.ts +20 -4
- package/es/components/horizontal-menu/horizontal-menu.vue2.js +29 -29
- package/es/components/horizontal-menu/index.d.ts +20 -4
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/menu/index.d.ts +28 -7
- package/es/components/menu/menu-item-group.vue.d.ts +2 -4
- package/es/components/menu/menu-item.vue.d.ts +1 -17
- package/es/components/menu/menu.vue.d.ts +3 -28
- package/es/components/menu/menu.vue2.js +81 -76
- package/es/components/menu/sub-menu.vue.d.ts +1 -19
- package/es/components/menu/types.d.ts +64 -0
- package/es/components/side-menu/index.d.ts +55 -4
- package/es/components/side-menu/side-menu.vue.d.ts +20 -3
- package/es/components/side-menu/side-menu.vue2.js +166 -139
- package/es/components/side-menu/types.d.ts +13 -2
- package/es/components/super-form/super-form-action.vue2.js +55 -55
- package/es/components/super-form/super-form-item.vue2.js +1 -1
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/horizontal-menu/horizontal-menu.vue.d.ts +20 -4
- package/lib/components/horizontal-menu/horizontal-menu.vue2.cjs +1 -1
- package/lib/components/horizontal-menu/index.d.ts +20 -4
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/menu/index.d.ts +28 -7
- package/lib/components/menu/menu-item-group.vue.d.ts +2 -4
- package/lib/components/menu/menu-item.vue.d.ts +1 -17
- package/lib/components/menu/menu.vue.d.ts +3 -28
- package/lib/components/menu/menu.vue2.cjs +1 -1
- package/lib/components/menu/sub-menu.vue.d.ts +1 -19
- package/lib/components/menu/types.d.ts +64 -0
- package/lib/components/side-menu/index.d.ts +55 -4
- package/lib/components/side-menu/side-menu.vue.d.ts +20 -3
- package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
- package/lib/components/side-menu/types.d.ts +13 -2
- package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +5 -5
- package/theme-style/index.css +1 -1
- package/theme-style/src/menu.scss +54 -0
- package/theme-style/vft-menu.css +1 -1
- package/web-types.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { MenuItemClicked } from 'vft/es/components/menu';
|
|
1
2
|
import type { SortableEvent } from 'sortablejs';
|
|
2
|
-
import type {
|
|
3
|
+
import type { NavigationFailure } from 'vue-router';
|
|
4
|
+
import type { SideMenuProps } from './types';
|
|
3
5
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SideMenuProps>, {
|
|
4
6
|
isFixedLeft: boolean;
|
|
5
7
|
autoScrollActiveDom: boolean;
|
|
@@ -16,6 +18,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
16
18
|
useRouterJump: boolean;
|
|
17
19
|
disableSubMenuAction: boolean;
|
|
18
20
|
defaultOpenedsLevel: boolean;
|
|
21
|
+
enableScroll: boolean;
|
|
22
|
+
scrollThreshold: number;
|
|
23
|
+
scrollMaxHeight: number;
|
|
24
|
+
collapseTransition: boolean;
|
|
25
|
+
collapseType: undefined;
|
|
19
26
|
}>>, {
|
|
20
27
|
sideRef: import("vue").Ref<any, any>;
|
|
21
28
|
jumpActiveDom: ({ activeDom, offset, delay }?: {
|
|
@@ -29,7 +36,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
29
36
|
"update:width": (val: string | number) => void;
|
|
30
37
|
dragEnd: (oldIndex: SortableEvent, newIndex: SortableEvent) => void;
|
|
31
38
|
dragWidthEnd: () => void;
|
|
32
|
-
select: (
|
|
39
|
+
select: (menuItem: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => void;
|
|
33
40
|
subMenuClick: (val: any) => void;
|
|
34
41
|
subMenuOpenClick: (val: any) => void;
|
|
35
42
|
menuItemMouseenter: (val: any) => void;
|
|
@@ -50,8 +57,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
50
57
|
useRouterJump: boolean;
|
|
51
58
|
disableSubMenuAction: boolean;
|
|
52
59
|
defaultOpenedsLevel: boolean;
|
|
60
|
+
enableScroll: boolean;
|
|
61
|
+
scrollThreshold: number;
|
|
62
|
+
scrollMaxHeight: number;
|
|
63
|
+
collapseTransition: boolean;
|
|
64
|
+
collapseType: undefined;
|
|
53
65
|
}>>> & Readonly<{
|
|
54
|
-
onSelect?: ((
|
|
66
|
+
onSelect?: ((menuItem: MenuItemClicked, routerResult?: Promise<void | NavigationFailure> | undefined) => any) | undefined;
|
|
55
67
|
"onUpdate:collapse"?: ((val: boolean) => any) | undefined;
|
|
56
68
|
"onUpdate:width"?: ((val: string | number) => any) | undefined;
|
|
57
69
|
onDragEnd?: ((oldIndex: SortableEvent, newIndex: SortableEvent) => any) | undefined;
|
|
@@ -65,7 +77,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
65
77
|
width: string | number;
|
|
66
78
|
collapse: boolean;
|
|
67
79
|
uniqueOpened: boolean;
|
|
80
|
+
collapseTransition: boolean;
|
|
68
81
|
disableSubMenuAction: boolean;
|
|
82
|
+
collapseType: "menu-title";
|
|
69
83
|
isFixedLeft: boolean;
|
|
70
84
|
collapseWidth: string | number;
|
|
71
85
|
menuTopBottomHeight: number;
|
|
@@ -79,6 +93,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
79
93
|
openMenuCollapse: boolean;
|
|
80
94
|
disabledJudgeTurnOver: boolean;
|
|
81
95
|
defaultOpenedsLevel: number | boolean;
|
|
96
|
+
enableScroll: boolean;
|
|
97
|
+
scrollThreshold: number;
|
|
98
|
+
scrollMaxHeight: string | number;
|
|
82
99
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
83
100
|
export default _default;
|
|
84
101
|
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),ue=require("../icon/index.cjs"),g=require("../menu/index.cjs");require("@vueuse/core");const b=require("@vft/utils"),C=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const R=require("@vft/router"),se=require("@vft/use/sortable"),ie=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const re=require("./use-drag-line.cjs");function de(m){return typeof m=="function"||Object.prototype.toString.call(m)==="[object Object]"&&!l.isVNode(m)}const ce=l.defineComponent({name:"vft-side-menu"}),pe=l.defineComponent({...ce,props:{isFixedLeft:{type:Boolean,default:!1},menus:{},width:{default:200},height:{default:"100%"},collapseWidth:{default:50},attrMapping:{},menuTopBottomHeight:{default:0},showCollapse:{type:Boolean,default:!1},dragOption:{},dragWidthCfg:{type:[Boolean,Object],default:!1},useRouterJump:{type:Boolean,default:!1},openDisabled:{type:Boolean},autoScrollActiveDom:{type:[Boolean,Number],default:!0},openMenuCollapse:{type:Boolean,default:!0},collapse:{type:Boolean,default:!1},uniqueOpened:{type:Boolean,default:!0},disabledJudgeTurnOver:{type:Boolean,default:!1},defaultActive:{},defaultOpeneds:{},defaultOpenedsLevel:{type:[Number,Boolean],default:!1},disableSubMenuAction:{type:Boolean,default:!1},enableScroll:{type:Boolean,default:!0},scrollThreshold:{default:10},scrollMaxHeight:{default:500},collapseTransition:{type:Boolean,default:!1},collapseType:{default:void 0},tooltipCfg:{}},emits:["update:collapse","update:width","dragEnd","dragWidthEnd","select","subMenuClick","subMenuOpenClick","menuItemMouseenter","menuItemMouseleave"],setup(m,{expose:W,emit:j}){const t=m,d=j,{defaultActive:L,collapse:h,uniqueOpened:E,defaultOpeneds:H,openMenuCollapse:J,defaultOpenedsLevel:y}=l.toRefs(t),i=ie.useNamespace("side-menu"),c=l.useSlots(),O=l.getCurrentInstance(),x=l.ref(),u=l.computed(()=>({path:"path",children:"children",title:"title",index:"path",icon:"icon",disabled:"disabled",...t.attrMapping})),U=(e,a=1/0)=>{const n=[],o=(s,p=0)=>{p>=a||s.forEach(r=>{r[u.value.children]?.length&&(n.push(r[u.value.index]),o(r[u.value.children],p+1))})};return o(e),n};R.listenerRouteChange(({route:e})=>{!e||e.meta?.hideSide&&!t.useRouterJump||(x.value=e.path)});const P=e=>{const a=e.e;if(t.autoScrollActiveDom&&a){const n=b.isNumber(t.autoScrollActiveDom)?t.autoScrollActiveDom:0,o=a.target;T({activeDom:o,offset:n})}d("subMenuOpenClick",e)},$=e=>{d("subMenuClick",e)},T=({activeDom:e=null,offset:a=0,delay:n=300}={})=>{v.value?.menu&&setTimeout(()=>{const o=e||document.querySelector(".vft-menu-item.is-active")||document.querySelector(".vft-sub-menu.is-active");o&&(v.value.menu.scrollTop=v.value.menu.scrollTop+(o.getBoundingClientRect().top-v.value.menu.getBoundingClientRect().top)+a)},n)},F=e=>{d("menuItemMouseenter",e)},Y=e=>{d("menuItemMouseleave",e)},Z=(e,a)=>!t.enableScroll||!e?e:h.value&&a>t.scrollThreshold?l.h(g.VftMenuItemGroup,{style:{maxHeight:C.addUnit(t.scrollMaxHeight),overflowY:"auto"}},()=>e):e,_=(e,a)=>{const n=e[u.value.path],o=e[u.value.title],s=e?.[u.value.children],p=e?.[u.value.index],r=e?.[u.value.icon],D=!!e?.[u.value.disabled],k=t.disabledJudgeTurnOver?!D:D,V=p||n||a+o;return s?.length?l.h(g.VftSubMenu,{...e,popperAppendToBody:!0,key:V,index:V,title:o,icon:r,disabled:t.openDisabled&&k,popperClass:i.e("popper"),toolTipCfg:{placement:"right","fallback-placements":["right-start","right"],...t.tooltipCfg}},{default:()=>{const te=s?.map((f,le)=>{const S=f[u.value.path],A=f[u.value.index],ne=f[u.value.icon],oe=f[u.value.title],I=!!f[u.value.disabled],ae=t.disabledJudgeTurnOver?!I:I;return f?.[u.value.children]?.length?_(f,le):l.h(g.VftMenuItem,{...f,key:A||S,index:A||S,route:S,icon:ne,title:oe,disabled:t.openDisabled&&ae},c.menuItem?()=>c.menuItem?.({item:f}):"")});return Z(te,s?.length||0)}}):l.h(g.VftMenuItem,{...e,key:p||n,index:p||n,title:o,route:n,icon:r,disabled:t.openDisabled&&k,onMouseenter:()=>F(e),onMouseleave:()=>Y(e)},c.menuItem?()=>c.menuItem?.({item:e,index:a}):"")},v=l.ref(),z=l.computed(()=>({...t.collapseWidth===0&&h.value?{width:0}:{},height:`calc(100% - ${t.menuTopBottomHeight}px)`})),q=O.appContext.config.globalProperties.$router;function G(e,a){if(t.useRouterJump){const{go:n}=R.useRouterHelper(q),o=e.route;let s=e.route;e.indexPath.some(r=>b.isUrl(r))&&(s=e.indexPath.slice(-2).join("/"));const p=q.getRoutes().filter(r=>r.path===s)?.[0]?.meta?.linkTarget;n(p?{url:o,winOpenOpt:{target:p}}:o)}d("select",e,a)}const M=l.ref(),B=l.ref(),N=l.ref(),K=l.computed(()=>({...t.collapseWidth===0&&h.value?{borderRight:"none"}:{},width:C.addUnit(t.width),height:t.height}));l.watch(()=>h.value,e=>{Q.value||(e?d("update:width",t.collapseWidth):d("update:width",N.value||t.width),N.value=t.width)});const{isDraging:Q}=re.useDragLine(M,B,O),X=l.computed(()=>({left:C.addUnit(t.width)})),ee=l.computed(()=>[i.b(),t.isFixedLeft?i.m("fixed"):""]),w=l.ref([]);return l.onMounted(()=>{l.nextTick(()=>{if(t.dragOption?.dragClassName){const e=document.querySelectorAll(`.${i.e(t.dragOption?.dragClassName)}`)?.[0],{initSortable:a}=se.useSortable(e,{draggable:".vft-menu-item",onEnd:n=>{const{oldIndex:o,newIndex:s}=n;b.isNullOrUndefined(o)||b.isNullOrUndefined(s)||o===s||d("dragEnd",o,s)},...t.dragOption});a()}})}),W({sideRef:M,jumpActiveDom:T,menuRef:v}),()=>{let e;return y.value&&(w.value=U(t.menus,b.isNumber(y.value)?y.value:1/0)),l.createVNode("div",{ref:M,class:ee.value,style:K.value},[c.top?l.createVNode("div",{class:i.e("top")},[c.top()]):null,l.h(l.createVNode(g.VftMenu,{ref:v,onSelect:G,onOpen:P,onSubMenuClick:$,defaultActive:L?.value||x.value,defaultOpeneds:H?.value||w.value,disableSubMenuAction:t.disableSubMenuAction,class:[i.e("con"),t.dragOption?.dragClassName?i.e(t.dragOption?.dragClassName):""],style:z.value,collapse:J.value?h.value:!1,uniqueOpened:E.value,collapseTransition:t.collapseTransition,collapseType:t.collapseType},de(e=t.menus.map((a,n)=>_(a,n)))?e:{default:()=>[e]})),c.bottom?l.createVNode("div",{class:i.e("bottom")},[c.bottom()]):t.showCollapse?l.createVNode("div",{onClick:()=>d("update:collapse",!h.value),class:[i.e("bottom"),i.e("collapse")]},[l.createVNode(ue.VftIcon,{style:{transform:h.value?"rotateY(180deg)":""},size:20,icon:"icon-sidebar-collapse"},null)]):null,c.default?.(),t.dragWidthCfg?l.createVNode("div",{ref:B,style:X.value,class:i.e("drag-bar")},null):null])}}});exports.default=pe;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import type { MenuItemClicked } from 'vft/es/components/menu';
|
|
2
|
+
import type { ToolTipProps } from 'vft/es/components/tooltip';
|
|
1
3
|
import type Sortable from 'sortablejs';
|
|
2
4
|
import type { SortableEvent } from 'sortablejs';
|
|
5
|
+
import type { NavigationFailure } from 'vue-router';
|
|
3
6
|
/** 菜单项类型 */
|
|
4
7
|
export type MenuType = {
|
|
5
8
|
/** 子菜单列表 */
|
|
@@ -72,11 +75,19 @@ export interface SideMenuProps {
|
|
|
72
75
|
/** 默认选中的菜单索引 */
|
|
73
76
|
defaultActive?: string;
|
|
74
77
|
/** 默认展开的子菜单索引数组 */
|
|
75
|
-
defaultOpeneds?: Array<string
|
|
78
|
+
defaultOpeneds?: Array<string>;
|
|
76
79
|
/** 默认展开的层级深度 */
|
|
77
80
|
defaultOpenedsLevel?: number | boolean;
|
|
78
81
|
/** 禁用子菜单的展开收缩行为 */
|
|
79
82
|
disableSubMenuAction?: boolean;
|
|
83
|
+
enableScroll?: boolean;
|
|
84
|
+
scrollThreshold?: number;
|
|
85
|
+
scrollMaxHeight?: string | number;
|
|
86
|
+
/** 是否开启折叠动画 */
|
|
87
|
+
collapseTransition?: boolean;
|
|
88
|
+
/** 收缩类型 */
|
|
89
|
+
collapseType?: 'menu-title';
|
|
90
|
+
tooltipCfg?: Partial<ToolTipProps>;
|
|
80
91
|
}
|
|
81
92
|
/** 菜单选中事件参数 */
|
|
82
93
|
export interface MenuSelectEventData {
|
|
@@ -96,7 +107,7 @@ export interface SideMenuEmits {
|
|
|
96
107
|
/** 拖拽宽度结束事件 */
|
|
97
108
|
(e: 'dragWidthEnd'): void;
|
|
98
109
|
/** 菜单选中事件 */
|
|
99
|
-
(e: 'select',
|
|
110
|
+
(e: 'select', menuItem: MenuItemClicked, routerResult?: Promise<void | NavigationFailure>): void;
|
|
100
111
|
/** 子菜单点击事件 */
|
|
101
112
|
(e: 'subMenuClick', val: any): void;
|
|
102
113
|
/** 子菜单展开点击事件 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("../button/index.cjs"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),i=require("../button/index.cjs"),p=require("../form/index.cjs"),C=require("../row/index.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const v=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const b=require("./use/use-form-context.cjs"),k=e.defineComponent({__name:"super-form-action",props:{showResetButton:{type:Boolean},showSubmitButton:{type:Boolean},showCommonButton:{type:Boolean},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},submitResetReverse:{type:Boolean}},setup(t){const r=v.useNamespace("form-action"),{resetAction:m,submitAction:B,commonAction:a}=b.useFormContext(),d=e.computed(()=>({justify:"end",...t.actionRowOptions})),f=e.computed(()=>Object.assign({btnText:"重置"},t.resetButtonOptions)),c=e.computed(()=>Object.assign({btnText:"确认"},t.submitButtonOptions)),u=e.computed(()=>Object.assign({btnText:"取消"},t.commonButtonOptions)),l=o=>({type:o?"warning":"primary",options:o?f.value:c.value,action:o?m:B,className:o?r.e("reset"):r.e("submit"),show:o?t.showResetButton:t.showSubmitButton}),n=e.computed(()=>l(!t.submitResetReverse)),s=e.computed(()=>l(t.submitResetReverse));return(o,w)=>t.showCommonButton||n.value.show||s.value.show?(e.openBlock(),e.createBlock(e.unref(C.VftRow),e.normalizeProps(e.mergeProps({key:0},d.value)),{default:e.withCtx(()=>[e.createVNode(e.unref(p.VftFormItem),{class:e.normalizeClass([{"submit-block":c.value.block},e.unref(r).b()])},{default:e.withCtx(()=>[t.showCommonButton&&!u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:0},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"resetBefore"),n.value.show?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:1,type:n.value.type},n.value.options,{onClick:n.value.action,class:n.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitBefore"),s.value.show?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:2,type:s.value.type},s.value.options,{onClick:s.value.action,class:s.value.className}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.value.options.btnText),1)]),_:1},16,["type","onClick","class"])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"submitAfter"),t.showCommonButton&&u.value.isBehind?(e.openBlock(),e.createBlock(e.unref(i.VftButton),e.mergeProps({key:3},u.value,{class:e.unref(r).e("common"),onClick:e.unref(a)}),{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.value.btnText),1)]),_:1},16,["class","onClick"])):e.createCommentVNode("",!0)]),_:3},8,["class"])]),_:3},16)):e.createCommentVNode("",!0)}});exports.default=k;
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.485";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.485",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"resize-detector": "0.3.0",
|
|
57
57
|
"sortablejs": "1.15.0",
|
|
58
58
|
"photoswipe": "5.4.4",
|
|
59
|
-
"@vft/use": "0.0.92",
|
|
60
|
-
"@vft/utils": "0.0.158",
|
|
61
59
|
"@vft/router": "0.0.73",
|
|
62
|
-
"@vft/directives": "0.0.36",
|
|
63
60
|
"@vft/store": "0.0.64",
|
|
64
|
-
"@vft/
|
|
61
|
+
"@vft/use": "0.0.92",
|
|
62
|
+
"@vft/constants": "0.0.80",
|
|
63
|
+
"@vft/directives": "0.0.36",
|
|
64
|
+
"@vft/utils": "0.0.158"
|
|
65
65
|
},
|
|
66
66
|
"vetur": {
|
|
67
67
|
"tags": "tags.json",
|