@v-c/collapse 0.0.3 → 0.0.4
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/Collapse.cjs +1 -1
- package/dist/Collapse.js +48 -57
- package/dist/index.d.ts +1 -1
- package/dist/interface.d.ts +0 -2
- package/package.json +1 -1
- package/src/Collapse.tsx +4 -5
- package/src/index.ts +1 -1
- package/src/interface.ts +0 -2
package/dist/Collapse.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),b=require("@v-c/util"),S=require("@v-c/util/dist/hooks/useMergedState"),x=require("@v-c/util/dist/omit"),N=require("@v-c/util/dist/pickAttrs"),O=require("./hooks/useItems.cjs");function h(r){let t=r;if(!Array.isArray(t)){const a=typeof t;t=a==="number"||a==="string"?[t]:[]}return t.map(a=>String(a))}const I={prefixCls:"vc-collapse"},M=i.defineComponent({props:i.mergeDefaults({prefixCls:{type:String,required:!1},activeKey:{type:[String,Number,Array],required:!1},defaultActiveKey:{type:[String,Number,Array],required:!1},openMotion:{type:null,required:!1},onChange:{type:Function,required:!1},accordion:{type:Boolean,required:!1},destroyOnHidden:{type:Boolean,required:!1},expandIcon:{type:Function,required:!1},collapsible:{type:String,required:!1},items:{type:Array,required:!1},classNames:{type:Object,required:!1},styles:{type:Object,required:!1}},I),name:"VcCollapse",inheritAttrs:!1,setup(r,{attrs:t,expose:a,slots:d}){const l=i.ref(),[s,f]=S([],{value:i.toRef(r,"activeKey"),onChange:e=>r.onChange?.(e),defaultValue:r.defaultActiveKey,postState:h}),y=e=>r.accordion?s.value[0]===e?[]:[e]:s.value.indexOf(e)>-1?s.value.filter(n=>n!==e):[...s.value,e],p=e=>{s.value=y(e),f(s.value)};return a({ref:l}),()=>{const{prefixCls:e="vc-collapse",openMotion:c,expandIcon:o,collapsible:n,accordion:u,classNames:v,styles:m,items:g,destroyOnHidden:q}=r,A=b.classNames(e,t.class),C={...r,...x(t,["class","style"])},K=O.useItems(g,d.default,{prefixCls:e,accordion:u,openMotion:c,expandIcon:o,collapsible:n,onItemClick:p,activeKey:s.value,destroyOnHidden:q,classNames:v,styles:m});return i.createVNode("div",i.mergeProps({ref:l,class:A,style:t.style,role:u?"tablist":void 0},N(C,{aria:!0,data:!0})),[K])}}});exports.default=M;
|
package/dist/Collapse.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { classNames as
|
|
3
|
-
import
|
|
1
|
+
import { defineComponent as K, mergeDefaults as x, ref as N, toRef as b, createVNode as S, mergeProps as h } from "vue";
|
|
2
|
+
import { classNames as O } from "@v-c/util";
|
|
3
|
+
import I from "@v-c/util/dist/hooks/useMergedState";
|
|
4
|
+
import M from "@v-c/util/dist/omit";
|
|
4
5
|
import V from "@v-c/util/dist/pickAttrs";
|
|
5
|
-
import { useItems as
|
|
6
|
-
function
|
|
7
|
-
let
|
|
8
|
-
if (!Array.isArray(
|
|
9
|
-
const
|
|
10
|
-
|
|
6
|
+
import { useItems as j } from "./hooks/useItems.js";
|
|
7
|
+
function B(r) {
|
|
8
|
+
let t = r;
|
|
9
|
+
if (!Array.isArray(t)) {
|
|
10
|
+
const a = typeof t;
|
|
11
|
+
t = a === "number" || a === "string" ? [t] : [];
|
|
11
12
|
}
|
|
12
|
-
return
|
|
13
|
+
return t.map((a) => String(a));
|
|
13
14
|
}
|
|
14
|
-
const
|
|
15
|
+
const F = {
|
|
15
16
|
prefixCls: "vc-collapse"
|
|
16
|
-
}, $ = /* @__PURE__ */
|
|
17
|
+
}, $ = /* @__PURE__ */ K({
|
|
17
18
|
props: /* @__PURE__ */ x({
|
|
18
19
|
prefixCls: {
|
|
19
20
|
type: String,
|
|
@@ -39,14 +40,6 @@ const H = {
|
|
|
39
40
|
type: Boolean,
|
|
40
41
|
required: !1
|
|
41
42
|
},
|
|
42
|
-
className: {
|
|
43
|
-
type: String,
|
|
44
|
-
required: !1
|
|
45
|
-
},
|
|
46
|
-
style: {
|
|
47
|
-
type: Object,
|
|
48
|
-
required: !1
|
|
49
|
-
},
|
|
50
43
|
destroyOnHidden: {
|
|
51
44
|
type: Boolean,
|
|
52
45
|
required: !1
|
|
@@ -71,61 +64,59 @@ const H = {
|
|
|
71
64
|
type: Object,
|
|
72
65
|
required: !1
|
|
73
66
|
}
|
|
74
|
-
},
|
|
67
|
+
}, F),
|
|
75
68
|
name: "VcCollapse",
|
|
76
69
|
inheritAttrs: !1,
|
|
77
|
-
setup(
|
|
78
|
-
attrs:
|
|
79
|
-
expose:
|
|
70
|
+
setup(r, {
|
|
71
|
+
attrs: t,
|
|
72
|
+
expose: a,
|
|
80
73
|
slots: u
|
|
81
74
|
}) {
|
|
82
|
-
const l =
|
|
83
|
-
value:
|
|
84
|
-
onChange: (e) =>
|
|
85
|
-
defaultValue:
|
|
86
|
-
postState:
|
|
87
|
-
}),
|
|
88
|
-
|
|
75
|
+
const l = N(), [s, f] = I([], {
|
|
76
|
+
value: b(r, "activeKey"),
|
|
77
|
+
onChange: (e) => r.onChange?.(e),
|
|
78
|
+
defaultValue: r.defaultActiveKey,
|
|
79
|
+
postState: B
|
|
80
|
+
}), d = (e) => r.accordion ? s.value[0] === e ? [] : [e] : s.value.indexOf(e) > -1 ? s.value.filter((i) => i !== e) : [...s.value, e], p = (e) => {
|
|
81
|
+
s.value = d(e), f(s.value);
|
|
89
82
|
};
|
|
90
|
-
return
|
|
83
|
+
return a({
|
|
91
84
|
ref: l
|
|
92
85
|
}), () => {
|
|
93
86
|
const {
|
|
94
87
|
prefixCls: e = "vc-collapse",
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
expandIcon: y,
|
|
99
|
-
collapsible: m,
|
|
88
|
+
openMotion: n,
|
|
89
|
+
expandIcon: o,
|
|
90
|
+
collapsible: i,
|
|
100
91
|
accordion: c,
|
|
101
|
-
classNames:
|
|
102
|
-
styles:
|
|
103
|
-
items:
|
|
104
|
-
destroyOnHidden:
|
|
105
|
-
} =
|
|
106
|
-
...
|
|
107
|
-
...
|
|
108
|
-
},
|
|
92
|
+
classNames: y,
|
|
93
|
+
styles: m,
|
|
94
|
+
items: v,
|
|
95
|
+
destroyOnHidden: g
|
|
96
|
+
} = r, A = O(e, t.class), q = {
|
|
97
|
+
...r,
|
|
98
|
+
...M(t, ["class", "style"])
|
|
99
|
+
}, C = j(v, u.default, {
|
|
109
100
|
prefixCls: e,
|
|
110
101
|
accordion: c,
|
|
111
|
-
openMotion:
|
|
112
|
-
expandIcon:
|
|
113
|
-
collapsible:
|
|
102
|
+
openMotion: n,
|
|
103
|
+
expandIcon: o,
|
|
104
|
+
collapsible: i,
|
|
114
105
|
onItemClick: p,
|
|
115
|
-
activeKey:
|
|
116
|
-
destroyOnHidden:
|
|
117
|
-
classNames:
|
|
118
|
-
styles:
|
|
106
|
+
activeKey: s.value,
|
|
107
|
+
destroyOnHidden: g,
|
|
108
|
+
classNames: y,
|
|
109
|
+
styles: m
|
|
119
110
|
});
|
|
120
|
-
return
|
|
111
|
+
return S("div", h({
|
|
121
112
|
ref: l,
|
|
122
|
-
class:
|
|
123
|
-
style:
|
|
113
|
+
class: A,
|
|
114
|
+
style: t.style,
|
|
124
115
|
role: c ? "tablist" : void 0
|
|
125
|
-
}, V(
|
|
116
|
+
}, V(q, {
|
|
126
117
|
aria: !0,
|
|
127
118
|
data: !0
|
|
128
|
-
})), [
|
|
119
|
+
})), [C]);
|
|
129
120
|
};
|
|
130
121
|
}
|
|
131
122
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as Collapse } from './Collapse';
|
|
2
2
|
import { default as Panel } from './Panel';
|
|
3
|
-
export type { CollapsePanelProps, CollapseProps } from './interface';
|
|
3
|
+
export type { CollapsePanelProps, CollapseProps, ItemType } from './interface';
|
|
4
4
|
export default Collapse;
|
|
5
5
|
export { Panel };
|
package/dist/interface.d.ts
CHANGED
|
@@ -37,8 +37,6 @@ export interface CollapseProps {
|
|
|
37
37
|
openMotion?: TransitionProps;
|
|
38
38
|
onChange?: (key: Key[]) => void;
|
|
39
39
|
accordion?: boolean;
|
|
40
|
-
className?: string;
|
|
41
|
-
style?: object;
|
|
42
40
|
destroyOnHidden?: boolean;
|
|
43
41
|
expandIcon?: (props: object) => any;
|
|
44
42
|
collapsible?: CollapsibleType;
|
package/package.json
CHANGED
package/src/Collapse.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import type { Ref } from 'vue'
|
|
|
2
2
|
import type { CollapseProps, Key } from './interface'
|
|
3
3
|
import { classNames as classnames } from '@v-c/util'
|
|
4
4
|
import useMergedState from '@v-c/util/dist/hooks/useMergedState'
|
|
5
|
+
import omit from '@v-c/util/dist/omit'
|
|
5
6
|
import pickAttrs from '@v-c/util/dist/pickAttrs'
|
|
6
7
|
import { defineComponent, ref, toRef } from 'vue'
|
|
7
8
|
import { useItems } from './hooks/useItems'
|
|
@@ -63,8 +64,6 @@ const Collapse = defineComponent<CollapseProps>({
|
|
|
63
64
|
return () => {
|
|
64
65
|
const {
|
|
65
66
|
prefixCls = 'vc-collapse',
|
|
66
|
-
className,
|
|
67
|
-
style,
|
|
68
67
|
openMotion,
|
|
69
68
|
expandIcon,
|
|
70
69
|
collapsible,
|
|
@@ -75,9 +74,9 @@ const Collapse = defineComponent<CollapseProps>({
|
|
|
75
74
|
destroyOnHidden,
|
|
76
75
|
} = props
|
|
77
76
|
|
|
78
|
-
const collapseClassName = classnames(prefixCls,
|
|
77
|
+
const collapseClassName = classnames(prefixCls, (attrs as any).class)
|
|
79
78
|
|
|
80
|
-
const mergedProps = { ...props, ...attrs }
|
|
79
|
+
const mergedProps = { ...props, ...omit(attrs, ['class', 'style']) }
|
|
81
80
|
|
|
82
81
|
const mergedChildren = useItems(items, slots.default, {
|
|
83
82
|
prefixCls,
|
|
@@ -96,7 +95,7 @@ const Collapse = defineComponent<CollapseProps>({
|
|
|
96
95
|
<div
|
|
97
96
|
ref={refWrapper}
|
|
98
97
|
class={collapseClassName}
|
|
99
|
-
style={
|
|
98
|
+
style={(attrs as any).style}
|
|
100
99
|
role={accordion ? 'tablist' : undefined}
|
|
101
100
|
{...pickAttrs(mergedProps, { aria: true, data: true })}
|
|
102
101
|
>
|
package/src/index.ts
CHANGED
package/src/interface.ts
CHANGED
|
@@ -56,8 +56,6 @@ export interface CollapseProps {
|
|
|
56
56
|
openMotion?: TransitionProps
|
|
57
57
|
onChange?: (key: Key[]) => void
|
|
58
58
|
accordion?: boolean
|
|
59
|
-
className?: string
|
|
60
|
-
style?: object
|
|
61
59
|
destroyOnHidden?: boolean
|
|
62
60
|
expandIcon?: (props: object) => any
|
|
63
61
|
collapsible?: CollapsibleType
|